Як надіслати процес на другий план і передній план?


17

Якщо я це зробити ping google.com &, процес відходить на другий план і продовжує показувати мені дані про ping. Я все ще можу використовувати термінал з іншими командами, але вихід з ping та вихід з інших команд змішуються (що не є проблемою), але я не можу припинити цей процес ping взагалі.

Для цього я хочу винести його на перший план, а потім натиснути ctrl + c або щось таке. Я спробував використовувати fg, але і це не вийшло. Тож як мені змусити ping google.com &повернутися на перший план після того, як я натиснув клавішу повернення в кінці команди ping?


2
Здається, що проблема, яку ви насправді хочете вирішити, - це вбити фонову роботу; не потрібно виносити це на перший план. Використовуйте jobsдля пошуку ідентифікатора jidроботи фонового процесу, а потім просто зробіть, kill %jidщоб його вбити.
садок

Відповіді:


30

fg- це правильна команда випереджати роботу, але якщо виконується кілька завдань, слід вказати номер завдання. Якщо ви лише введете fg, останнє фонове завдання (яке вважається поточним завданням оболонкою) буде виведене на перший план.

Отримайте поточну роботу:

$ jobs
[1]+     ping google.com &

Попередньо передбачте завдання, вказавши номер:

fg %1

Команда може бути розбита за результатами запущеного процесу, але вона все одно працюватиме, ви можете ігнорувати переривання.

Потім натисніть ctrl+, cщоб перервати та зупинити процес

Як згадується в коментарі, ви також можете надсилати сигнали, наприклад, за номером завдання kill %1

Для повноти, якщо ви не використовували &на момент виклику процесу, ви можете надіслати його на другий план, спочатку заморозивши клавішу ctrl+, zа потім набравшиbg


1
Просто fgбез аргументів, здається, теж працює, принаймні, коли є лише одна фонова робота.
Седрік Райхенбах

1
@CedricReichenbach відредаговано!
Zanna

-2

Щоб відповісти на поставлене запитання, а саме як надіслати вихідний процес на другий план і передній план? , teeкоманда виконає:

Під час обчислень, tee - це команда в інтерпретаторах командних рядків (оболонках), що використовують стандартні потоки, які зчитують стандартний вхід і записують його як на стандартний вихід, так і в один або кілька файлів, фактично дублюючи його введення. https://en.wikipedia.org/wiki/Tee_(command)


5
Ви щось тут нерозумієте ...
Байт командир
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.