如何在Linux服务器中停止stunnel(仅使用终端),而不是杀死pid

时间:2019-02-07 11:02:33

标签: stunnel

我们已经在Ubuntu 16.04中正确配置了stunnel,也正在正确启动,我们正在从stunnel服务器获取应用程序中的数据。虽然我找不到任何适当的方法来停止stunnel。我尝试杀死stunnel的pid,但是杀死pid并不是停止的正确方法。

谢谢

2 个答案:

答案 0 :(得分:1)

可能有多个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

答案 1 :(得分:0)

杀死PID听起来很糟糕,但这是在Linux中停止进程的常用方法。 “杀死”只是“发送信号”的别称。如果发出kill $pid,则会将SIGTERM发送到该进程。 然后,该过程可以处理信号并执行干净关机。这也是许多程序实现配置重载功能的方式,它们经常为此使用SIGHUP(kill -SIGHUP $pid)。

因此,只要您不使用kill -SIGKILL $pid(或简称为kill -9 $pid),程序就可以处理该信号并正常关闭。

有关linux信号的更多信息:https://en.wikipedia.org/wiki/Signal_(IPC)#List_of_signals