Я'м работает процесс nohup и на сервере. Когда я пытаюсь убить свою консоль шпатлевка, а не закрывает.
это, как я пытаюсь найти идентификатор процесса:
ps -ef |grep nohup
это команда, чтобы убить
kill -9 1787 787
Когда с помощью команды nohup и поставить задачу в фоновом режиме, оператору фон (&
) даст вам пид в командной строке. Если ваш план, чтобы вручную управлять процессом, вы можете сохранить, что ПИД и использовать его позже, чтобы убить процесс, если это необходимо, через убить ПИД " или " убийство -9 PID
(если вам нужно, чтобы заставить убить). Кроме того, вы можете найти ПИД позднее ПС-эф | грэп-то "команду"
В и определите PID оттуда. Обратите внимание, что команды nohup команда сайта/сама не отображается в выходных данных ПС
за команду в вопрос.
Если вы используете сценарий, вы могли бы сделать что-то вроде:
nohup my_command > my.log 2>&1 &
echo $! > save_pid.txt
Это будет работать my_command спасает выход в
мой.журнал(в скрипте,
$!представляет собой PID последнего процесса выполнения). В
2- это дескриптор файла для стандартной ошибки (
устройство) и
2>&1рассказывает оболочки направить стандартный вывод ошибок в стандартный поток вывода (дескриптор
1). Это требует
&ампер;1так, что снаряд знает, что это'ы дескриптор файла в этом контексте, а не просто файл с именем
1. В
2>&1` - это нужно, чтобы захватить любые сообщения об ошибках, которые обычно записываются в стандартный поток ошибок в нашей мой.файл журнала (который идет от стандартного вывода). См. перенаправление ввода-вывода для получения более подробной информации об обработке ввода/вывода перенаправление с оболочкой.
Если команда отправляет вывод на регулярной основе, вы можете периодически проверять на выходе с хвост мой.войдите или если вы хотите следить за его "живи" Вы можете использовать хвост -Ф мой.журнал
. Наконец, если вам нужно убить процесс, вы можете сделать это через:
kill -9 `cat save_pid.txt`
rm save_pid.txt
Я использую красной шляпе Linux на VPS сервер (и через SSH - шпатлевка), для меня в следующих работал:
Во-первых, вы Список всех запущенных процессов:
ps -ef
Затем в первом столбце вы найдете свое имя пользователя, я нашел следующие три раза:
Затем во второй колонке вы можете найти PID процесса команды nohup и вы только типа:
kill PID
(замена пид с помощью команды nohup процесс'ы ПИД конечно)
И что это!
Я надеюсь, что этот ответ будет полезен для кого-то я'м очень новой для bash и SSH, но на 95% знаний, которые мне нужны здесь :)
предположим, я бегу скрипта в фоновом режиме с ниже команду
nohup ruby script.rb &
тогда я могу сделать пид выше фонового процесса путем указания имени команды. В моем случае команда Рубин.
ps -ef | grep ruby
выход
ubuntu 25938 25742 0 05:16 pts/0 00:00:00 ruby test.rb
Теперь вы сможете легко убить процесс с помощью команды Kill
kill 25938
вакансии-л должен дать вам пид список процессов команды nohup. убить (-9) их аккуратно. ;)
Это работает в Убунту
Типа этого, чтобы найти выход ПИД`
ps aux | grep java
Все запущенные процессы связанные с Java будет показано
В моем случае
johnjoe 3315 9.1 4.0 1465240 335728 ? Sl 09:42 3:19 java -jar batch.jar
Теперь убить это убить 3315 -9`
Процесс зомбирования и наконец остановился.
Предположим, вы выполняете программу Java с nohup и вы можете сделать Java-процесса код по
`ps aux | grep java`
выход
xxxxx 9643 0.0 0.0 14232 968 pts/2
затем вы можете убить процесс, вписав
sudo kill 9643
или допустим, что вам нужно убить все процессы Java, то просто использовать
sudo killall java
эта команда убивает всех процессоров Java. вы можете использовать этот процесс. просто дать имя процесс в конце команды
sudo killall {processName}
Я запустил сервер Django с помощью следующей команды.
nohup manage.py runserver <localhost:port>
Это работает на CentOS:
:~ ns$netstat -ntlp
:~ ns$kill -9 PID
Сегодня я встретилась с той же проблемой. И так как это было давно, я совершенно забыл, какую команду я использовал и когда. Я пробовал три способа:
. Это означает, Родительский идентификатор процесса, идентификатор процесса, который создает процесс. Один из этих двух является 1 в Ubuntu для процесса, использование nohup запустить. Затем вы можете использовать
ПС --идентификатор на "1"` В, чтобы получить список, и проверить время(общее время ЦП процессе использования) или Cmd, чтобы найти процесс'с ПИД.ПС-эф | команды grep
и вы получите ПИД.После того как вы найти PID процесса, то можно использовать убить пид
с терминалом процесс.