Как остановить 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
Другие вопросы по тегам