Начини на плащане Abuse

Работа във фоновия процес на Linux

27.01.2023, 23:58

Казахме ви какво представлява фоновият процес на Linux и как да го стартирате правилно. В тази статия ще ви разкажем как работи той в този режим.

Как работи фоновият процес

Стартирането на скрипт в Linux е една задача, трябва да се уверите, че той функционира правилно веднага след като затворите терминала. Терминалът се затваря по следния начин: трябва да щракнете върху кръстчето, което се намира в горния ъгъл на екрана, това води до прекратяване на всички фонови процеси. Съществуват няколко метода за запазването им в случай, че връзката с интерактивния шел се загуби

Първо: премахнете опашката за задачи от задачата, като използвате функцията disown:

disown

Както и в предишните случаи, ако има няколко едновременно работещи процеса, трябва да посочите номера на този, спрямо който ще се извърши действието:

disown %1

Уверете се, че задачата не е в списъка със задачи. Как да направите това. Използвайте помощната програма jobs -l. За да видите целия списък на изпълняваните процеси, се използва командата:

ps aux

Следващ метод: запазвате изпълняваните процеси с командата nohup. Тази команда след изпълнение на свой ред ще изпълни друга команда, като всички сигнали SIGHUP ще бъдат игнорирани.

Можете да изпълните командата във фонов режим по следния начин:

nohup command &

Както можете да видите на изображението по-горе, изходът на командата ще бъде изпратен в nohup.out. Най-важното е, че след излизане от системата и затваряне на терминала процесът ще продължи да функционира. Съществуват някои помощни програми, които ви позволяват да изпълнявате две или повече сесии наведнъж. По-специално Screen и Tmux ви позволяват да правите това.

  • Screen или GNU Screen е терминален мултиплексор, който ви позволява да стартирате една работна сесия и да отворите произволен брой прозорци (виртуални терминали) в нея. Процесите, работещи в тази програма, ще се изпълняват дори ако техните прозорци са невидими или програмата е спряла да работи.
  • Tmux е по-модерна алтернатива на GNU Screen. Въпреки това функциите на Tmux не се различават съществено - можете да отваряте много прозорци в рамките на една сесия по същия начин. Задачите, изпълнявани в Tmux, продължават да се изпълняват, ако терминалът е затворен.

Решихме този проблем, както можете да видите, всичко е елементарно и просто.