tyypillisesti kun komentoa ajetaan päätelaitteessa, on odotettava komennon päättymistä ennen kuin voi syöttää toisen komennon. Tätä kutsutaan komennon ajamiseksi etu-tai etualaprosessissa. Kun prosessi kulkee etualalla, se vie kuoresi, ja voit vuorovaikutuksessa sen kanssa käyttämällä syöttölaitteita.
Mitä jos komento kestää pitkään loppuun, ja haluat suorittaa muita komentoja sillä välin? Sinulla on useita vaihtoehtoja käytettävissäsi., Ilmeisin ja suoraviivaisin vaihtoehto on aloittaa uusi shell-istunto ja suorittaa komento siinä. Toinen vaihtoehto on suorittaa komento taustalla.
taustaprosessi on prosessi / komento, joka käynnistyy päätteestä ja kulkee taustalla ilman käyttäjän vuorovaikutusta.
tässä artikkelissa puhutaan taustaprosesseista on Linux. Näytämme, miten komento aloitetaan taustalla ja miten prosessi pidetään käynnissä shell-istunnon päätyttyä.,
Suorita Linux Komento Taustalla #
suorita komento taustalla, lisää et-merkki et-merkki (&
) lopussa komento:
command &
kuori job ID (ympäröi suluissa) ja prosessi ID on painettu terminaalin:
25177
Sinulla voi olla useita prosesseja käynnissä taustalla samaan aikaan.
taustaprosessi jatkaa viestien kirjoittamista päätelaitteeseen, josta vetosit komentoon., To suppress the stdout
and stderr
messages use the following syntax:
command > /dev/null 2>&1 &
>/dev/null 2>&1
means redirect stdout
to /dev/null
and stderr
to stdout
.,/div>
tuo taustalla prosessi edustalle, käytä fg
komento:
fg
Jos sinulla on useita taustakuvan työpaikkoja, ovat %
ja työn TUNNUS komennon jälkeen:
fg %1
lopettaa taustalla prosessi, käyttää kill
komento jonka jälkeen prosessi ID:
kill -9 25177
Siirrä Etualalla Prosessin Taustalla #
jos Haluat siirtää käynnissä etualalla prosessi taustalla:
- Lopeta prosessi kirjoittamalla
Ctrl+Z
., - siirrä pysäytetty prosessi taustalle kirjoittamalla
bg
.
Pitää Tausta Prosesseja Käynnissä Jälkeen Kuori Poistuu #
Jos yhteys putoaa tai kirjaudut ulos shell-istunto, tausta prosessit lopetetaan. On olemassa useita tapoja pitää prosessi käynnissä sen jälkeen, kun interaktiivinen shell istunto päättyy.,
Yksi tapa on poistaa työn kuori on työn hallintaa käyttäen disown
kuori builtin:
disown
Jos sinulla on useampi kuin yksi tausta työpaikkoja, ovat %
ja työn TUNNUS komennon jälkeen:
disown %1
Vahvista, että työ on poistettu taulukosta aktiivisen työpaikkoja käyttäen jobs -l
komento. Luettelo kaikista käynnissä olevat prosessit, kuten kieltäneet käyttää ps aux
komento.,
toinen tapa pitää prosessi käynnissä Shellin poistumisen jälkeen on käyttää nohup
.
nohup
komento suorittaa toisen ohjelman määritelty sen väitettä, ja ohittaa kaikki SIGHUP
(hangup) signaaleja. SIGHUP
on signaali, joka lähetetään prosessi, kun sen määräysvaltaa terminaali on suljettu.
suorita komento taustalla käyttäen nohup
komento, kirjoita:
nohup command &
– komennon tuloste ohjataan nohup.out
tiedosto.,
nohup: ignoring input and appending output to 'nohup.out'
Jos kirjaudut ulos tai suljet terminaalin, prosessia ei lopeteta.
Vaihtoehtoja #
On olemassa useita ohjelmia, joiden avulla voit olla useita interaktiivisia istuntoja samanaikaisesti.
Näyttö #
Näytön tai GNU Screen on terminal multiplexer ohjelma, jonka avulla voit aloittaa näytön istunnon ja avata minkä tahansa määrän windows (virtual terminaalit) sisällä, että istunto. Ruudussa toimivat prosessit jatkuvat, kun niiden ikkuna ei näy, vaikka yhteys katkeaisi.,
Tmux #
Tmux on moderni vaihtoehto GNU screen. Tmux: n avulla voit myös luoda istunnon ja avata useita ikkunoita kyseisen istunnon sisällä. Tmux istunnot ovat pysyviä, mikä tarkoittaa, että ohjelmat käynnissä Tmux jatkuu, vaikka suljet terminaalin.
Johtopäätös #
suorita komento taustalla, ovat &
lopussa komento.
Kun suoritat komennon taustalla, sinun ei tarvitse odottaa, kunnes se päättyy, ennen kuin voit suorittaa toisen.