Убить все процессы, использующие указанный порт в Ubuntu 14.04

В чем причина того, что процесс все еще жив?

Список запущенных процессов node и что я пробовал:

root@111:/home/ubuntu# ps -e -o pid,ppid,stat,cmd  | grep node
 3150     1 Ss   sudo /usr/bin/node /home/ubuntu/chatapp/bin/www
 3152  3150 Sl   /usr/bin/node /home/ubuntu/chatapp/bin/www
 4407  1558 S+   grep --color=auto node
root@111:/home/ubuntu# kill -9 3150
root@111:/home/ubuntu# kill -9 3152
root@111:/home/ubuntu# ps -e -o pid,ppid,stat,cmd  | grep node
 4665     1 Ss   sudo /usr/bin/node /home/ubuntu/chatapp/bin/www
 4667  4665 Sl   /usr/bin/node /home/ubuntu/chatapp/bin/www
 4680  1558 S+   grep --color=auto node

person Himani Agrawal    schedule 01.04.2016    source источник
comment
Как вы начали процесс, через навсегда, pm2, upstart, monit или что-то подобное?   -  person mscdex    schedule 01.04.2016
comment
Я использовал node app.js   -  person Himani Agrawal    schedule 01.04.2016


Ответы (2)


Попробуйте с:

$ sudo kill -9 18200

Обратите внимание на добавленный флаг «-9», который вызывает убийство...

С справочной страницы linus signal(7):

...
SIGKILL       9       Term    Kill signal
...
person MarcoS    schedule 01.04.2016
comment
Что в итоге? процесс не убит? Вы действительно уверены, что PID, который вы передали kill -9, сохранился? Я бы ОЧЕНЬ удивился... :-( - person MarcoS; 01.04.2016
comment
Итак, процессы, которые вы убили (3150, 3152), мертвы. Другие процессы узла рождаются сразу после уничтожения. Наиболее вероятным объяснением является то, что у вас есть процесс (например, nodemon), который повторно порождает процессы узлов, когда они умирают... Вы должны сначала остановить nodemon... :-) - person MarcoS; 01.04.2016
comment
Раньше я использовал навсегда, но удалил его. Убьет ли удаление узла все процессы узла? - person Himani Agrawal; 01.04.2016
comment
Нет, не будет. Память и файловая система - два разных зверя... Если вы не уверены в демонах в вашей системе, я бы посоветовал вам перезагрузиться, а затем, если узел снова жив, лучше поискать службу, порождающую его... - person MarcoS; 01.04.2016
comment
Я запускаю это на экземпляре aws-ec2. Я не думаю, что перезагрузка поможет, поскольку aws поддерживает состояние. - person Himani Agrawal; 01.04.2016
comment
Таким образом, у вас остается возможность искать узел порождения службы в вашем экземпляре... - person MarcoS; 01.04.2016
comment
Не могли бы вы помочь мне в этом? - person Himani Agrawal; 01.04.2016
comment
Большое вам спасибо :) Я запускал службу выскочки. - person Himani Agrawal; 01.04.2016

Вы убили процесс с идентификатором 18200
Вы утверждаете, что узел все еще работает, но это процесс с идентификатором 31261, а не тот, который вы убили...
Является ли оставшийся процесс (родительский pid = 1) дочерним процессом, который осиротел в результате убийства 18200?

person Matt_S    schedule 01.04.2016
comment
Пробовал kill -9 1. Состояние узла все еще работает. - person Himani Agrawal; 01.04.2016
comment
Вы не можете убить процесс 1. Это система инициализации ОС. В вашем примере kill -9 31261 - person Matt_S; 01.04.2016
comment
Верно. Итак, как мне освободить порт? - person Himani Agrawal; 01.04.2016