Disk and Memory usage commands - df, du and free linux commands tutorial | Linux Tutorial #32
Innholdsfortegnelse:
- Kjør en Linux-kommando i bakgrunnen
- Flytt en forgrunnsprosess til bakgrunn
- Hold bakgrunnsprosesser i gang etter at et skall er avsluttet
- Alternatives
- Skjerm
- Tmux
- Konklusjon
Når du kjører en kommando i terminalen, må du vente til kommandoen er fullført før du kan angi en annen. Dette kalles å kjøre kommandoen i forgrunnen eller forgrunnen. Når en prosess kjører i forgrunnen, opptar den skallet ditt, og du kan samhandle med det ved å bruke inndataenhetene.
Hva om kommandoen tar lang tid å fullføre, og du vil kjøre andre kommandoer i mellomtiden? Du har flere alternativer til disposisjon. Det mest åpenbare og greie alternativet er å starte en ny skalløkt og kjøre kommandoen i den. Et annet alternativ er å kjøre kommandoen i bakgrunnen.
En bakgrunnsprosess er en prosess / kommando som startes fra en terminal og kjøres i bakgrunnen, uten interaksjon fra brukeren., vil vi snakke om bakgrunnsprosessene er Linux. Vi vil vise deg hvordan du starter en kommando i bakgrunnen, og hvordan du kan fortsette prosessen etter at skalløkten er avsluttet.
Kjør en Linux-kommando i bakgrunnen
Hvis du vil kjøre en kommando i bakgrunnen, legger du til ampersand-symbolet (
&
) på slutten av kommandoen:
command &
Skalljobb-ID (omgitt av parenteser) og prosess-ID vil bli skrevet ut på terminalen:
25177
Du kan ha flere prosesser som kjører i bakgrunnen samtidig.
Bakgrunnsprosessen vil fortsette å skrive meldinger til terminalen du påkalte kommandoen fra. For å undertrykke
stdout
og
stderr
meldingene bruker du følgende syntaks:
command > /dev/null 2>&1 &
>/dev/null 2>&1
betyr omdirigere
stdout
til
/dev/null
og
stderr
til
stdout
.
Bruk jobberverktøyet til å vise status for alle stoppede og bakgrunnsjobber i den nåværende shell-økten:
jobs -l
Utdataene inkluderer jobbnummer, prosess-ID, jobbtilstand og kommandoen som startet jobben:
+ 25177 Running ping google.com &
For å bringe en bakgrunnsprosess i forgrunnen, bruk
fg
kommandoen:
fg
fg %1
For å avslutte bakgrunnsprosessen, bruk
kill
kommandoen etterfulgt av prosess-ID:
Flytt en forgrunnsprosess til bakgrunn
Slik flytter du en kjørende forgrunnsprosess i bakgrunnen:
- Stopp prosessen ved å skrive
Ctrl+Z
Flytt den stoppede prosessen til bakgrunnen ved å skrivebg
.
Hold bakgrunnsprosesser i gang etter at et skall er avsluttet
Hvis tilkoblingen din synker eller du logger ut av skalløkten, avsluttes bakgrunnsprosessene. Det er flere måter å holde prosessen i gang etter at den interaktive skalløkten er avsluttet.
En måte er å fjerne jobben fra skallets jobbkontroll ved hjelp av det
disown
skallet som er innebygd:
disown
disown %1
Bekreft at jobben blir fjernet fra tabellen over aktive jobber ved å bruke kommandoen
jobs -l
. Bruk
ps aux
kommandoen for å liste alle prosesser som kjører, inkludert den ikke-benevnte.
En annen måte å holde en prosess i gang etter
nohup
er å bruke
nohup
.
nohup
kommandoen kjører et annet program spesifisert som sitt argument og ignorerer alle
SIGHUP
(hangup) signaler.
SIGHUP
er et signal som sendes til en prosess når kontrollterminalen er stengt.
Hvis du vil kjøre en kommando i bakgrunnen ved å bruke
nohup
kommandoen, skriver du inn:
nohup command &
Kommandoutgangen omdirigeres til filen
nohup.out
.
nohup: ignoring input and appending output to 'nohup.out'
Alternatives
Det er en rekke programmer som lar deg ha flere interaktive økter samtidig.
Skjerm
Screen eller GNU Screen er et terminalmultiplekserprogram som lar deg starte en skjermøkt og åpne et hvilket som helst antall vinduer (virtuelle terminaler) inne i den økten. Prosesser som kjører i skjermbildet vil fortsette å kjøre når vinduet deres ikke er synlig, selv om du blir koblet fra.
Tmux
Tmux er et moderne alternativ til GNU-skjerm. Med Tmux kan du også opprette en økt og åpne flere vinduer i den økten. Tmux økter er vedvarende, noe som betyr at programmer som kjører i Tmux fortsetter å kjøre selv om du stenger terminalen.
Konklusjon
Hvis du vil kjøre en kommando i bakgrunnen, inkluderer
&
på slutten av kommandoen.
Når du kjører en kommando i bakgrunnen, trenger du ikke å vente til den er ferdig før du kan utføre en annen.
nohup fg bg jobber avslå terminalValve's November Steam-brukerstatistikk er oppe, og det er fortsatt et skred for spillere som kjører Windows XP. 68% av Steam-brukerne kobler til nettsamfunnet og spilltjenesten som kjører 32-bits versjonen av XP. Sammenlign med bare 21% kjører Vista og et DX10-kompatibelt skjermkort. Nesten mer enn det (25%) kjører DX10 GPUer på XP, mens en nyskapende 54% fortsatt spiller med DX9-eller under GPUer.
NVIDIA tårner over ATI (27%) med løveandelen (64%) GPU bruk. Intels nibbling krummer med bare 2%. Også: 87% av Steam-brukere kjører med 4x anti-aliasing aktivert, som overrasket meg, siden jeg har en GTX 280 og ofte fortsatt lar AA nullstilles for å øke de ekstra rammene i handel for de høyeste nivåene av GPU-strangling detaljer.
Slik kjører du Windows Apps i Linux
Vin er en gratis, åpen kildekode-måte for å kjøre Windows-apper på Linux.
Skype får akkurat en ny app i moderne stil for å dra nytte av alle operativsystemets funksjoner. > Gitt at Microsoft eier Skype, er det ikke overraskende at Windows 8-appen er en modell for det nye, moderne grensesnittet. Appen vises som en Live Tile på startskjermbildet for Windows 8, og viser en forhåndsvisning av ubesvarte anrop eller nye meldinger. Appen kjører også stadig i bakgrunnen, men Skype sier at dette ikke tømmer batterilevetiden, og leverer varsler for nye samtaler eller meldinger.
Nylige Skype-interaksjoner (klikk for å forstørre)