Android

Kuinka ajaa linux-komentoja taustalla

Section: Debugging with Dan Armendariz

Section: Debugging with Dan Armendariz

Sisällysluettelo:

Anonim

Tyypillisesti, kun suoritat komennon terminaalissa, sinun on odotettava, kunnes komento loppuu, ennen kuin voit antaa toisen. Tätä kutsutaan komennon suorittamiseksi etualalla tai etualalla. Kun prosessi suoritetaan etualalla, se vie kuoren ja voit olla vuorovaikutuksessa sen kanssa syöttölaitteilla.

Entä jos komennon toteuttaminen vie kauan aikaa ja haluat suorittaa sillä välin muita komentoja? Sinulla on käytettävissäsi useita vaihtoehtoja. Selvin ja selkein vaihtoehto on aloittaa uusi kuoriistunto ja suorittaa komento siinä. Toinen vaihtoehto on suorittaa komento taustalla.

Taustaprosessi on prosessi / komento, joka käynnistetään terminaalista ja kulkee taustalla ilman käyttäjän vuorovaikutusta., puhumme taustaprosesseista on Linux. Osoitamme sinulle, kuinka komento voidaan käynnistää taustalla ja kuinka pitää prosessi käynnissä, kun kuoriistunto on suljettu.

Suorita Linux-komento taustalla

Jos haluat suorittaa komennon taustalla, lisää ampersand-symboli ( & ) komennon loppuun:

command &

Kuoren työn tunnus (hakasulkein ympäröimä) ja prosessin tunnus tulostetaan terminaaliin:

25177

Taustalla voi olla käynnissä useita prosesseja samanaikaisesti.

Taustaprosessi jatkaa viestien kirjoittamista päätteelle, jolta komento on annettu. stdout ja stderr viestien poistamiseksi käytä seuraavaa syntaksia:

command > /dev/null 2>&1 &

>/dev/null 2>&1 tarkoittaa uudelleenohjauspistettä stdout /dev/null ja stderr stdout .

jobs apuohjelman avulla voit näyttää kaikkien nykyisen kuoriistunnon pysäytettyjen ja taustatyöiden tilan:

jobs -l

Tuloste sisältää työn numeron, prosessin tunnuksen, työn tilan ja työn aloittaneen komennon:

+ 25177 Running ping google.com &

Tuo taustaprosessi etualaan käyttämällä fg komentoa:

fg

fg %1

Voit lopettaa taustaprosessin käyttämällä kill komentoa, jota seuraa prosessin tunnus:

kill -9 25177

Siirrä etualan prosessi taustaan

Käynnissä olevan etualan prosessin siirtäminen taustalla:

  1. Pysäytä prosessi kirjoittamalla Ctrl+Z Siirrä pysäytetty prosessi taustaan ​​kirjoittamalla bg .

Pidä taustaprosessit käynnissä, kun kuori poistuu

Jos yhteys katkeaa tai kirjaudut ulos kirjautumissessiosta, taustaprosessit lopetetaan. On olemassa useita tapoja pitää prosessi käynnissä vuorovaikutteisen kuoriistunnon päätyttyä.

Yksi tapa on poistaa työ kuoren työnhallinnasta disown kuoren rakennuksen avulla:

disown

disown %1

Varmista, että työ on poistettu aktiivisten töiden taulukosta, jobs -l komennolla. Voit luetteloida kaikki käynnissä olevat prosessit, mukaan lukien halutut käyttämällä ps aux -komentoa.

Toinen tapa pitää prosessi käynnissä kuoren poistumisen jälkeen on käyttää nohup .

nohup komento suorittaa toisen argumenttina määritellyn ohjelman ja ohittaa kaikki SIGHUP (hangup) -signaalit. SIGHUP on signaali, joka lähetetään prosessille, kun sen ohjauspääte suljetaan.

Suorita komento taustalla nohup komennolla kirjoittamalla:

nohup command &

Komentolähtö ohjataan nohup.out tiedostoon.

nohup: ignoring input and appending output to 'nohup.out'

vaihtoehtoja

On olemassa useita ohjelmia, joiden avulla voit pitää useita interaktiivisia istuntoja samanaikaisesti.

kuvaruutu

Näyttö tai GNU-näyttö on pääte multiplekseriohjelma, jonka avulla voit aloittaa näyttöistunnon ja avata minkä tahansa määrän ikkunoita (virtuaalisia päätteitä) kyseisen istunnon sisällä. Näytössä käynnissä olevat prosessit jatkuvat, kun niiden ikkuna ei ole näkyvissä, vaikka irrotatkin yhteyden.

TMUX: illa

Tmux on moderni vaihtoehto GNU-näytölle. Tmuxilla voit myös luoda istunnon ja avata useita ikkunoita kyseisen istunnon sisällä. Tmux-istunnot ovat jatkuvia, mikä tarkoittaa, että Tmux-ohjelmassa käynnissä olevat ohjelmat jatkuvat, vaikka suljetkin päätteen.

johtopäätös

Jos haluat suorittaa komennon taustalla, lisää & komennon loppuun.

Kun suoritat komennon taustalla, sinun ei tarvitse odottaa, kunnes se loppuu, ennen kuin voit suorittaa toisen komennon.

nohup fg bg työpaikat hylätty terminaali