Paano Magpatakbo ng Linux Commands sa Background

Paano Magpatakbo Ng Linux Commands Sa Background



Ang pagpapatakbo ng mga Linux command sa background ay nagbibigay-daan sa user na magpatuloy sa pagpapatupad ng iba pang mga gawain habang tumatakbo pa rin ang command. Upang magpatakbo ng isang command sa background mayroong maraming mga paraan; isa sa mga simpleng pamamaraan ay sa pamamagitan ng pagdaragdag ng isang ampersand (&) sa dulo ng command line.

Kapag ang isang proseso ay nakatakdang tumakbo sa background, maa-access natin ito gamit ang mga trabaho utos. Itinatampok ng artikulong ito ang lahat ng iba't ibang paraan ng pagpapatakbo ng command sa background.







Ang listahan ng iba't ibang paraan upang magpatakbo ng proseso sa background ay ang mga sumusunod:



Ang sumusunod ay ang detalye ng lahat ng paraan para magpatakbo ng proseso sa background:



1: Paggamit ng Ampersand (&) Sign

Sa Linux Ampersand (&) ay isang shell operator na nagpapadala ng command sa background bilang isang hiwalay na proseso. Sa pamamagitan ng pagsasama-sama ng ampersand (&) sa isang command, ito ay isasagawa bilang isang proseso sa background, na nagpapahintulot sa shell na magpatuloy sa pagproseso ng iba pang mga command kaagad.





Syntax para sa isang proseso sa background gamit ang Ampersand sign:

$ [ utos ] at


Ang simbolo ng ampersand ay palaging idinaragdag sa dulo ng command na may isang puwang sa pagitan '&' at huling katangian ng utos.



Halimbawa, gumawa ng proseso ng pagtulog sa loob ng 40 segundo.

$ matulog 40


Gaya ng nakikita natin, pinapatakbo ng terminal ang sleep command at hindi tayo pinapayagang magsagawa ng anumang iba pang gawain.


Ngayon pindutin “Ctrl + Z” upang itigil ang prosesong ito. Susunod, tatakbo kami sa parehong utos ng pagtulog sa oras na ito ngunit ang paggamit ng isang ampersand operator kasama nito ay magse-set up nito sa background.

$ matulog 40 at



Ngayon ang prosesong ito ay nasa background. Upang ilista ang background na tumatakbong proseso gamitin ang:

$ mga trabaho -l



Ngayon patayin ang proseso sa background gamit ang:

$ pumatay -9 [ job-ID ]


Halimbawa, upang patayin ang kasalukuyang tumatakbong proseso ng pagtulog, gamitin ang:

$ pumatay -9 6149


Ngayon ang proseso ng pagtulog ay pinapatay upang kumpirmahin ang listahan ng proseso ng pagpapatakbo ng background na ginagamit.

$ mga trabaho -l



Narito ang isa pang halimbawa ng paggamit & ampersand sign ay may gedit command.

Halimbawa, kung bubuksan natin ang gedit text editor nang direkta gamit ang terminal, tiyak na gagamitin natin ang shell para sa iba pang gawain o kung hindi, kailangan muna nating ihinto ang kasalukuyang proseso.

$ gedit


Ang paggamit ng command sa itaas ay magbubukas ng text editor na magbubukas nito sa harap ng terminal.


Ngunit pagkatapos gamitin ang '&' sa dulo ng gedit command, ang shell ay malayang gamitin para sa iba pang mga proseso:

$ gedit at


2: Gamit ang 'bg' Command

Ang bg command ay ang pangalawang paraan ng pagpapatakbo ng mga command sa background. Ang utos na ito ay nagpapahintulot sa gumagamit na magpatuloy sa pagtatrabaho sa terminal habang ang proseso ay tumatakbo sa background, na nagpapalaya sa terminal para sa iba pang mga gawain. Ang bg command ay ginagamit para sa isang mahabang tumatakbong proseso sa background na kahit na tumatakbo kung ang gumagamit ay nag-log out.

Tulad ng isang ampersand sign hindi namin kailangang mag-alala tungkol sa pagdaragdag nito sa command sa tuwing magpadala lamang ng bg text sa terminal. Magsisimula itong patakbuhin ang proseso sa background at palayain ang terminal para magamit sa hinaharap.

Halimbawa, gamitin natin ang nakaraang halimbawa at ipadala ang command ng sleep gamit ang:

$ matulog 40



Ngayon ang proseso ay tumatakbo at ang terminal ay hindi magagamit para sa paggamit. Para magamit ang bg command at maipadala ang prosesong ito sa background kailangan muna nating ihinto ang kasalukuyang proseso ng pagpapatupad sa pamamagitan ng pagpindot “Ctrl+ Z” at isagawa ang utos na ito:

$ bg


Matapos ipadala ang utos ng bg, nagsimulang magpatuloy ang proseso ng pagtulog sa background. Makakakita tayo ng ampersand '&' sa dulo, na nagpapahiwatig na ang kasalukuyang proseso ay nasa background na tumatakbo.


Upang suriin ang proseso sa background, patakbuhin ang utos ng trabaho:

$ mga trabaho -l



Upang suriin ang utos na tumatakbo sa paggamit ng background:

$ fg



Para patayin ang kasalukuyang proseso, gamitin ang job ID nito na may kill command. Para tingnan ang jobs ID, patakbuhin ang:

$ mga trabaho -l



Matapos malaman ang proseso ng pagpatay ng jobs ID gamit ang:

$ pumatay -9 [ job-ID ]


Halimbawa, upang patayin ang kasalukuyang tumatakbong proseso ng pagtulog, gamitin ang:

$ pumatay -9 6584


Upang kumpirmahin kung ang proseso ay pinatay o hindi na muling patakbuhin ang command ng mga trabaho:

$ mga trabaho -l


Makikita natin na ang proseso ng pagtulog ay hindi na tumatakbo sa background:

3: Gamit ang nohup Command

Ang nohup command ay pangatlo sa aming listahan ng mga tumatakbong proseso sa background sa Linux. Ang utos ay nangangahulugang 'no hang up' at ginagamit upang pigilan ang proseso mula sa pagwawakas hanggang sa matapos ang terminal session. Kapag ang isang proseso ay naisakatuparan gamit ang nohup, ito ay patuloy na tatakbo kahit na ang user ay mag-log out, at ang output ng proseso ay na-redirect sa isang file na pinangalanan “nohup.out” .

Ang nohup na utos na patuloy na i-ping ang google sa background ay at ang output ay na-redirect sa isang text file na GooglePing.txt:

$ nohup ping Google com > GooglePing.txt at


Matapos isulat ang utos na ito makikita natin na ang terminal ay libre at isang proseso sa background para sa patuloy na pag-ping ng google ay tumatakbo sa background.


Upang ma-access ang log file, maaari naming gamitin ang sumusunod na command:

$ pusa GooglePing.txt



Maa-access din ang log file gamit ang GUI mula sa home screen.

4: Gamit ang diswn Command

Tinatanggal ng diswn command ang isang proseso mula sa shell at pinapatakbo ito sa background. Kapag tinanggihan ang isang proseso, hindi na ito nauugnay sa terminal at patuloy na tatakbo kahit na matapos mag-log out o isara ang terminal ang user.

Noong nakaraan, ginamit namin ang ampersand '&' na utos na nagpapadala ng proseso sa background pagkatapos ng pagpapatupad nito ngunit habang isinasara namin ang shell, ang proseso ay matatapos. Upang mapupuksa ang diswn command na ito ay nariyan.

Ang diswn command ay hindi maaaring gumana nang nakapag-iisa ngunit hindi bababa sa isang proseso ang dapat na tumatakbo sa background.

Patakbuhin ang utos sa ibaba gamit ang a at ampersand sign na magpapadala ng iyong command sa background.

$ ping Google com > GooglePing.txt at


Matapos malikha ang file maaari naming ilista ito gamit ang command na trabaho.


Ngayon ang aming proseso ay tumatakbo sa background upang alisin ito mula sa paggamit ng terminal:

$ itakwil



Patakbuhin muli ang utos ng trabaho upang kumpirmahin na ang proseso ay hiwalay sa terminal:

$ mga trabaho -l


Habang ang aming proseso ay kasalukuyang tumatakbo ngunit hindi na ito ipinapakita sa loob ng terminal:


Upang kumpirmahin ang aming proseso, maaari naming gamitin ang cat command upang ma-access ang ping file na iyon:

$ pusa GooglePing.txt



Matagumpay naming natanggal ang prosesong ito mula sa terminal ngunit tumatakbo pa rin ito sa background.

5: Paggamit ng tmux Utility

Ang Tmux ay isang uri ng terminal multiplexer utility. Gamit ang tmux makakagawa tayo ng maramihang mga terminal session sa loob ng isang shell. Nagbibigay ito ng kakayahang magpatakbo ng mga proseso sa background.

Upang magpatakbo ng proseso sa background sa Tmux, maaari kang lumikha ng isang bagong session at pagkatapos ay humiwalay dito gamit ang key na kumbinasyon na Ctrl-b na sinusundan ng d.

Upang mag-install ng tmux utility sa Ubuntu at Linux gamit ang mint:

$ sudo apt i-install tmux



Upang i-install sa Fedora run:

$ sudo dnf i-install tmux


Upang i-install sa Arch Linux run:

$ sudo pacman -S tmux


Ngayon patakbuhin ang tmux command upang magbukas ng bagong terminal:

$ tmux


Para gumawa ng bagong tmux session gamitin ang:

$ tmux bago -s [ session_id ]


Upang ilista ang lahat ng paggamit ng tmux session:

$ tmux ls


Para sa pagpatay ng tmux session gumamit ng command bilang:

$ tmux kill-session -t [ session_id ]


Halimbawa, pumatay '0' paggamit ng tmux session:

$ tmux kill-session -t 0


Dito namin inilista ang kasalukuyang tumatakbong tmux active session at patayin ito gamit ang command sa itaas:


    • Upang humiwalay sa tmux session press “Ctrl+B+D” .
    • Upang makakuha ng isang listahan ng lahat ng mga command pindutin “Ctrl+B+?” .
    • Upang lumipat sa pagitan ng tmux windows pindutin “Ctrl+B+O” .

Upang hatiin ang terminal ng tmux patayo, pindutin ang “Ctrl+B” at uri % .


Upang makabalik sa pangunahing terminal mula sa tmux gamitin:

$ labasan

Konklusyon

Ang pagpapatakbo ng mga application sa background sa Linux ay isang makapangyarihang feature na nagbibigay-daan sa mga user na panatilihing tumatakbo ang kanilang mga matagal nang gawain kahit pagkatapos mag-log out sa terminal o isara ang window. Karaniwan ang isang ampersand & tanda o bg Ang command ay ginagamit upang magpadala ng isang proseso sa background. Gayunpaman, maaari rin nating gamitin nohup o itakwil utos na tanggalin ang isang proseso mula sa terminal. Sa wakas, magagamit natin ang tmux utility upang lumikha ng maramihang mga terminal at magpatakbo ng mga proseso sa background nang hindi nakakagambala sa terminal.