通过bash脚本关闭正在运行的程序

时间:2011-12-09 18:48:57

标签: bash ssh kill gnu-screen

我已尝试过几次搜索,但我认为我不知道正确的术语。

我在远程服务器上的屏幕会话中运行了一个应用程序。我定期开发和更新服务器,并使用Gi​​t repo来传输我的代码。我想自动化这个过程。这是我希望脚本执行的操作:

  • 将我的代码提交到我的本地计算机存储库
  • 将本地存储库推送到服务器
  • SSH到服务器
  • 连接到屏幕,然后 kill 当前在那里运行的应用程序。
    • 当我手动完成这一切时,我用ctrl-C杀了它。这似乎不是一个选择。
  • 然后使用新代码重新启动它。

有关如何杀死应用程序的任何想法?还是整体上更好的方式?

1 个答案:

答案 0 :(得分:1)

您的脚本需要获取进程的PID并将其终止。你可以使用

ps -u <process-owning name> | grep <process name>

获取有关该过程的信息。使用其他东西来提取PID,然后对其进行杀戮。

我使用类似这样的东西在Windows上通过Cygwin杀死每日Quake 3服务器。