【问题标题】:How to stop stunnel in linux server(using terminal only), other than killing pid如何在 linux 服务器中停止 stunnel(仅使用终端),而不是杀死 pid
【发布时间】:2020-06-08 19:27:31
【问题描述】:

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

谢谢

【问题讨论】:

    标签: stunnel


    【解决方案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
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-14
        • 2021-08-09
        • 2013-10-14
        • 1970-01-01
        • 1970-01-01
        • 2019-08-06
        • 2017-02-01
        相关资源
        最近更新 更多