2011-12-09 53 views
1

我已经尝试过搜索这几次,但我只是觉得我不知道正确的术语。通过bash脚本关闭一个正在运行的程序

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

  • 提交我的代码,以我的本地机器存储库
  • SSH
  • Atttach推动本地资源库服务器到服务器的屏幕,杀死当前在那里运行的应用程序
    • 当我手动完成这件事时,我用ctrl-C杀死它。这似乎不是一个选择。
  • 然后使用新代码重新启动它。

有关如何杀死应用程序的想法?或者总体上更好的方法?

回答

1

你的脚本需要获取进程的PID并杀死它。您可以使用

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

获取有关过程的信息。使用其他的东西来提取PID然后做一个杀死。

我使用类似的东西来通过Windows上的Cygwin杀死日常的Quake 3服务器。

+0

'pgrep $ PROCESS_NAME'返回PID。只要做一个'杀死$(pgrep $ PROCESS_NAME)'。或者,如果光秃秃的杀手功能不够强大,可以使用'kill -9': – pepoluan

+0

我认为kill bryp $ PROCESS_NAME是您在bash脚本中查找的内容。反引号表示执行该命令,将结果转换为字符串并继续处理命令行。 – Almo

+0

反引号和$()在功能上是相同的。 – pepoluan

相关问题