logo

nohup komanda operētājsistēmā Linux ar piemēriem

Katra Linux komanda tās izpildes laikā sāk procesu, kas automātiski tiek pārtraukts, izejot no termināļa. Pieņemsim, ka jūs izpildāt programmas, izmantojot SSH, un, ja savienojums pārtrūks, sesija tiks pārtraukta, visi izpildītie procesi tiks apturēti, un jūs varat saskarties ar milzīgu nejaušu krīzi. Šādos gadījumos komandu izpildīšana fonā var būt ļoti noderīga lietotājam, un tieši šeit nohup komanda nonāk attēlā. nohup (bez klausīšanās) ir komanda Linux sistēmās, kas palaiž procesu pat pēc atteikšanās no čaulas/termināļa.

Nohupa komanda

Parasti katrs process Linux sistēmās tiek nosūtīts a SIGHUP (signāla pārtraukšana) kura ir atbildīga par procesa pārtraukšanu pēc termināļa slēgšanas/izejas. Nohup komanda neļauj procesam saņemt šo signālu, aizverot vai izejot no termināļa/čaulas. Kad darbs ir sākts vai izpildīts, izmantojot komandu nohup, stdin lietotājam nebūs pieejams un nohup.out fails tiek izmantots kā noklusējuma fails stdout un stderr . Ja komandas nohup izvade tiek novirzīta uz kādu citu failu, nohup.out fails nav ģenerēts.

Nohup komandas sintakse

Komandas Nohup izmantošanas sintakse ir vienkārša:



cilpai bash
nohup command [options] &>
  • `command`> : norāda komandu vai skriptu, kuru vēlaties izpildīt.
  • `[options]`> : izvēles argumenti vai karodziņi, kas maina komandas darbību.
  • `&`> : Ievietojot & (&) komandas beigās, čaula uzdod komandu palaist fonā.

Darbs ar nohup komandu

Nohup versijas pārbaude

Nohup versijas pārbaude ir vienkāršs process. Parasti sistēmā instalēto Nohup versiju var pārbaudīt, izmantojot ` --version`> karogs. Vienkārši izpildiet šādu komandu:

nohup --version>

Izvade:

Procesa sākšana, izmantojot Nohup

Lai sāktu procesu, izmantojot Nohup, vienkārši pievienojiet vajadzīgo komandu arnohup>. Piemēram, ja vēlaties izpildīt bash skriptu ar nosaukumugeekfile.py>izmantojot Nohup, jūs izmantotu šādu komandu:

nohup bash geekfile.sh>

Izvade:

Lai novirzītu izvadi uz output.txt fails:

nohup bash geekfile.sh>output.txt>

Izvade:

npm tīrīšanas kešatmiņas spēks

Procesa sākšana fonā, izmantojot Nohup

Lai izpildītu komandu fonā, &' komandas beigās ir pievienots simbols. Pēc izpildes tā neatgriežas čaulas komandu uzvednē pēc komandas palaišanas fonā. To var atgriezt priekšplānā, izmantojot fg komandu.

nohup bash geekfile.sh & fg>

Izvade:

iteratora java karte

Piezīme: Skaitlis kvadrātiekavās apzīmē darba id un blakus esošais numurs ir procesa id .

Lai fonā palaistu vairākas komandas

komandu nohup var izmantot, lai fonā palaistu vairākas komandas.

nohup bash -c 'commands'>

Piemērs:

nohup bash -c 'cal && ls'>

Izvade:

Šeit izvade pēc noklusējuma tiks saglabāta nohup.out . Lai to novirzītu, ierakstiet:

nohup bash -c 'commands'>faila nosaukums.txt>

Piemērs:

nohup bash -c 'cal && ls'>output.txt>

Izvade:

stīgu savienošana

nohup komanda operētājsistēmā Linux — FAQ

Kas ir nohup> komanda Linux, un ko tā dara?

The nohup> komanda nozīmē nolikt klausuli. Tas ļauj palaist komandu vai čaulas skriptu tā, lai tas turpinātu darboties pat pēc atteikšanās vai termināļa aizvēršanas. Tas novērš komandas pārtraukšanu, kad termināļa sesija beidzas.

grima produktu nosaukums

Kā es varu izmantot nohup> komanda?

Izmantot nohup> , vienkārši pievienojiet to komandai, kuru vēlaties palaist. Piemēram:

nohup command_to_run &>

The &> simbols beigās ievieto komandu fonā, ļaujot turpināt lietot termināli, kamēr komanda darbojas.

Kur nohup> nosūtīt komandas izvadi?

Pēc noklusējuma, nohup> novirza gan standarta izvadi (stdout), gan standarta kļūdu (stderr) uz failu ar nosaukumu nohup.out> pašreizējā direktorijā. Ja vēlaties, varat norādīt citu izvades failu.

Vai es varu izmantot nohup> ar interaktīvām komandām vai programmām?

Kamēr nohup> parasti tiek izmantots ar neinteraktīvām komandām vai skriptiem, varat to izmantot ar interaktīvām komandām. Tomēr darbība var būt neparedzama, it īpaši, ja komanda sagaida lietotāja ievadi. Parasti ieteicams izvairīties no lietošanas nohup> ar interaktīvām programmām.

Kā es varu pārbaudīt komandas statusu, kas darbojas ar nohup> ?

Kopš nohup> palaiž komandu fonā, varat izmantot standarta Linux rīkus, piemēram ps> vai top> lai pārbaudītu procesa statusu. Piemēram:

ps aux | grep>

Tas parādīs informāciju par procesu, tostarp tā PID (procesa ID), ko pēc tam varat izmantot, lai pārvaldītu vai pārraudzītu komandu.

Secinājums

Operētājsistēmā Linux, kad palaižat komandu, tā parasti apstājas, aizverot termināli. Bet ar nohup> , varat to turpināt darboties pat pēc termināļa aizvēršanas. Tas ir ļoti ērti, it īpaši, ja palaižat komandas attālināti un nevēlaties, lai tās apstātos, ja savienojums pazūd.nohup>darbojas, pasargājot jūsu komandu no signāliem, kas parasti to apturētu. Jūs vienkārši pievienojatnohup>pirms jūsu pavēles, un tas turpinās. Varat arī nosūtīt komandas izvadi uz failu. Vienkārši atcerieties, ka tas ir vislabāk piemērots neinteraktīviem uzdevumiem, un jūs varat pārbaudīt komandas statusu, izmantojot tādus rīkus kāps>. Tātad,nohup>ir kā drošības tīkls jūsu komandām, kas nodrošina, ka tās turpina darboties pat tad, kad jūs neskatāties.