Как остановить stunnel на сервере Linux (используя только терминал), кроме как убить pid
Мы правильно настроили наш stunnel в Ubuntu 16.04, также он правильно запускается, мы получаем наши данные в приложении, которое поступает с сервера stunnel. Хотя я не могу найти подходящий способ остановить обструкцию. Я пытался убить pid из stunnel, но убийство pid не является правильным способом остановить.
Спасибо
1 ответ
Убийство PID звучит довольно плохо, но это обычный способ остановить процессы в Linux. "Убить" - это просто другое название слова "отправить сигнал". Если вы выпускаете kill $pid
затем SIGTERM отправляется этому процессу. Затем процесс может обработать сигнал и выполнить чистое отключение. Это также способ, которым многие программы реализуют функцию перезагрузки конфигурации, для этого они часто используют SIGHUP (kill -SIGHUP $pid
).
Итак, пока вы не используете kill -SIGKILL $pid
(или вкратце: kill -9 $pid
) программа может обработать этот сигнал и корректно завершить работу.
Подробнее о сигналах в Linux: https://en.wikipedia.org/wiki/Signal_(IPC)
Их может быть несколько stunnel
процессы:
[root@someserver ~]# ps aux | grep stunnel | grep -v grep | awk '{print $2}'
13527
13528
13529
13530
13531
13532
Следующий цикл bash-one-line может обработать, чтобы убить их всех:
if kill $(ps aux | grep stunnel | grep -v grep | awk '{print $2}'); then echo "Done"; else echo "No ps left"; fi