Как да изпълнявате Linux команди във фонов режим

Kak Da Izp Lnavate Linux Komandi V V Fonov Rezim



Изпълнението на Linux команди във фонов режим позволява на потребителя да продължи да изпълнява други задачи, докато командата все още се изпълнява. Има няколко начина за изпълнение на команда във фонов режим; един от простите методи е чрез добавяне на амперсанд (&) в края на командния ред.

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







Списъкът с различни начини за стартиране на фонов процес е както следва:



Следва подробно описание на всички методи за стартиране на фонов процес:



1: Използване на знака амперсанд (&).

В Linux амперсанд (&) е оператор на обвивка, който изпраща команда във фонов режим като отделен процес. Чрез комбиниране на амперсанд (&) към команда, тя ще бъде изпълнена като фонов процес, позволявайки на обвивката да продължи незабавно да обработва други команди.





Синтаксис за фонов процес, използващ знак амперсанд:

$ [ команда ] и


Символът амперсанд винаги се добавя в края на командата с един интервал между тях '&' и последния символ на командата.



Например, създайте процес на заспиване за 40 сек.

$ сън 40


Както виждаме, терминалът изпълнява командата за заспиване и не ни позволява да изпълняваме друга задача.


Сега натиснете „Ctrl + Z“ да спре този процес. След това ще изпълним същата команда за заспиване този път, но използването на оператор амперсанд с нея ще я настрои на заден план.

$ сън 40 и



Сега този процес е на заден план. За да изброите фоновия работещ процес, използвайте:

$ работни места



Сега убийте този фонов процес, като използвате:

$ убивам -9 [ работа-ID ]


Например, за да прекратите текущия процес на заспиване, използвайте:

$ убивам -9 6149


Сега процесът на заспиване е убит, за да се потвърди списъкът с фоновия процес, използващ.

$ работни места



Ето още един пример за използване & амперсанд знакът е с команда gedit.

Например, ако отворим текстовия редактор gedit директно с помощта на терминала, ще бъдем задължени да използваме обвивката за друга работа или в противен случай първо трябва да спрем текущия процес.

$ gedit


Използването на горната команда ще отвори текстовия редактор, който ще го отвори пред терминала.


Но след използване на „&“ в края на командата gedit, обвивката може да се използва свободно за други процеси:

$ gedit и


2: Използване на командата „bg“.

Командата bg е вторият начин за изпълнение на команди във фонов режим. Тази команда позволява на потребителя да продължи да работи в терминала, докато процесът работи във фонов режим, освобождавайки терминала за други задачи. Командата bg се използва за продължителен фонов процес, който се изпълнява дори ако потребителят излезе.

Подобно на знака амперсанд, не е нужно да се притесняваме да го добавяме към командата всеки път, когато просто изпращаме bg текст към терминала. Той ще започне да изпълнява процеса във фонов режим и ще освободи терминала за бъдеща употреба.

Например, нека използваме предишния пример и изпратим командата за заспиване, използвайки:

$ сън 40



Сега процесът се изпълнява и терминалът не е достъпен за използване. За да използваме командата bg и да изпратим този процес във фонов режим, първо трябва да спрем текущия изпълняващ се процес, като натиснем „Ctrl+ Z“ и изпълнение на тази команда:

$ бг


След изпращане на командата bg процесът на заспиване започна да продължава във фонов режим. Можем да видим амперсанд „&“ в края, което показва, че текущият процес работи във фонов режим.


За да проверите фоновия процес, стартирайте командата jobs:

$ работни места



За да проверите командата, работеща във фонов режим, използвайте:

$ fg



За да прекратите текущия процес, използвайте неговия идентификатор на задание с команда kill. За да проверите ID на задания, изпълнете:

$ работни места



След като знаете процеса на унищожаване на ID на заданията, като използвате:

$ убивам -9 [ работа-ID ]


Например, за да спрете текущия процес на заспиване, използвайте:

$ убивам -9 6584


За да потвърдите дали процесът е убит или не, изпълнете отново командата jobs:

$ работни места


Виждаме, че процесът на заспиване вече не работи във фонов режим:

3: Използване на командата nohup

Командата nohup е трета в нашия списък с работещи фонови процеси в Linux. Командата означава „без затваряне“ и се използва за предотвратяване на прекратяване на процеса, докато терминалната сесия приключи. Когато даден процес се изпълнява с помощта на nohup, той продължава да работи дори ако потребителят излезе, а изходът от процеса се пренасочва към файл с име „nohup.out“ .

Командата nohup за непрекъснат пинг на google във фонов режим е и изходът се пренасочва към текстов файл GooglePing.txt:

$ nohup пинг Google com > GooglePing.txt и


След като напишем тази команда, можем да видим, че терминалът е свободен и фонов процес за непрекъснато пингване на google работи във фонов режим.


За достъп до лог файла можем да използваме следната команда:

$ котка GooglePing.txt



Регистрационният файл може да бъде достъпен и чрез GUI от началния екран.

4: Използване на командата disown

Командата disown премахва процес от обвивката и го изпълнява във фонов режим. Когато даден процес бъде отхвърлен, той вече не е свързан с терминала и продължава да работи дори след като потребителят излезе или затвори терминала.

По-рано използвахме командата с амперсанд „&“, която изпраща процеса във фонов режим след неговото изпълнение, но когато затворим обвивката, процесът се прекратява. За да се отървете от тази команда за отказ е там.

Командата disown не може да работи независимо, но поне един процес трябва да работи във фонов режим.

Изпълнете командата по-долу с a и знак амперсанд, който ще изпрати вашата команда на заден план.

$ пинг Google com > GooglePing.txt и


След като файлът е създаден, можем да го изведем с помощта на командата jobs.


Сега нашият процес работи във фонов режим, за да го отделим от използването на терминала:

$ отричам се



Изпълнете отново командата за задания, за да потвърдите, че процесът е отделен от терминала:

$ работни места


Тъй като нашият процес в момента се изпълнява, но вече не се показва в терминала:


За да потвърдим нашия процес, можем да използваме командата cat за достъп до този ping файл:

$ котка GooglePing.txt



Успешно отделихме този процес от терминала, но той все още работи на заден план.

5: Използване на помощната програма tmux

Tmux е вид помощна програма за терминален мултиплексор. С помощта на tmux можем да създадем множество терминални сесии в рамките на една обвивка. Предоставя възможност за стартиране на процеси във фонов режим.

За да стартирате фонов процес в Tmux, можете да създадете нова сесия и след това да се отделите от нея, като използвате клавишната комбинация Ctrl-b, последвана от d.

За да инсталирате помощната програма tmux на Ubuntu и Linux mint, използвайте:

$ sudo ап Инсталирай tmux



За да инсталирате на Fedora, изпълнете:

$ sudo dnf Инсталирай tmux


За да инсталирате на Arch Linux, стартирайте:

$ sudo пак Ман tmux


Сега изпълнете командата tmux, за да отворите нов терминал:

$ tmux


За да създадете нова tmux сесия, използвайте:

$ tmux нов [ сесиен идентификатор ]


За да изброите всички tmux сесии, използвайте:

$ tmux ls


За убиване на tmux сесия използвайте команда като:

$ tmux сесия за унищожаване -T [ сесиен идентификатор ]


Например да убиеш '0' използване на tmux сесия:

$ tmux сесия за унищожаване -T 0


Тук изброихме текущата активна tmux сесия и я убихме с горната команда:


    • За да се откачите от tmux сесията, натиснете „Ctrl+B+D“ .
    • За да получите списък с всички команди, натиснете „Ctrl+B+?“ .
    • За да превключвате между tmux прозорци, натиснете „Ctrl+B+O“ .

За да разделите tmux терминала вертикално, натиснете „Ctrl+B“ и тип % .


За да се върнете към основния терминал от tmux използвайте:

$ изход

Заключение

Изпълнението на фонови приложения в Linux е мощна функция, която позволява на потребителите да продължат да изпълняват дългосрочните си задачи дори след като излязат от терминала или затворят прозореца. Обикновено ан амперсанд & знак или бг командата се използва за изпращане на процес във фонов режим. Можем обаче да използваме и nohup или отричам се команда за отделяне на процес от терминала. Най-накрая можем да използваме помощна програма tmux за създаване на множество терминали и стартиране на фонови процеси, без да се смущава терминалът.