Возобновить процесс через номер PID

Я хотел, чтобы демон запускался при загрузке, поэтому я добавил в /etc/rc.local строку, заканчивающуюся на "& amp;" Я сделал это, чтобы он работал в фоновом режиме.

Демон загружен и работает нормально, но когда он запущен, вы можете нажимать клавиши, которые выполняют другие важные действия.

Когда я наконец вошел в систему, я хотел возобновить процесс или отправить ему терминал (tty2), чтобы я мог сделать пару вещей.

Я новичок в Linux и не знаю, как это сделать.

Я делаю ps -aux |grep uox, чтобы выяснить, какой это PID. Но не уверен, как возобновить.

5
задан 25 December 2014 в 16:07

3 ответа

jobs будет перечислять только задания, связанные с оболочкой, в которой выполняется команда jobs, и аналогично fg и bg работают только с процессами в том же дереве процессов, что и текущая оболочка. В контексте этого вопроса задание, к которому вы хотите присоединиться, было начато с /etc/rc.local, поэтому оболочка не является текущей, в которой вы находитесь.

Вы можете начать процесс с /etc/rc.local командой screen ( https://help.ubuntu.com/community/Screen ) - это запустит его, подключенный к псевдотерминалу затем вы можете снова использовать screen, чтобы присоединиться к этому терминалу и набирать символы в запущенной программе.

Установите screen, используя apt-get, затем введите man screen, чтобы увидеть все параметры. Я не уверен, что именно вы должны поместить в rc.local, и у вас нет времени сейчас экспериментировать, но я могу обновить этот ответ позже.

0
ответ дан 25 December 2014 в 16:07

Одолженный от Vijay
Используйте jobs управляйте для нахождения списка фоновых процессов, которые запускаются Вами. для, например: существует сценарий, который просто спит для 10 secs в 5 повторениях. Я выполнил его 4 раза в фоновом режиме.

>jobs
[1]  + Running                       ./temp.sh
[2]  - Running                       ./temp.sh
[3]    Running                       ./temp.sh
[4]    Running                       ./temp.sh

fg команда должна возвратить его переднему плану как показано ниже.

>fg 1
[CTRL -c]

как замечено выше я закончил процесс, и он больше не существует. теперь, если я снова работаю jobs

>jobs
[2]  + Running                       ./temp.sh
[3]    Running                       ./temp.sh
[4]  - Running                       ./temp.sh
>

Также можно проверить здесь на больше

3
ответ дан 25 December 2014 в 16:07

Вы можете возобновить процесс с помощью номера PID из любой оболочки, используя команду kill.

kill -CONT <pid> 

Не забывайте часть -CONT, иначе вы убьете свой процесс.

P.S. Дэвид Пердью прав, что fg и bg работают только с процессами в одном дереве процессов. Его решение, кажется, лучше соответствует вашим потребностям. Однако, поскольку заголовок «Возобновить процесс через номер PID», я указал, что другие, кому это нужно, могут захотеть его найти.

0
ответ дан 25 December 2014 в 16:07

Другие вопросы по тегам:

Похожие вопросы: