我有一个詹金斯和一个比特桶储存库相连。当某个东西被推到存储库时,詹金斯开始工作。此作业从存储库获取所有数据(服务器.py:基本上是一个bjoern服务器)。 我现在要做的是停止服务器.py-正在运行的进程,并使用更改的数据重新启动它。这应该通过以下由jenkins运行的bash脚本来完成:
#!/bin/bash
PID=$(ps ax | grep 'server.py')
kill $PID
我的问题是我的ubuntu服务器上的jenkins用户不能杀死服务器.py过程。 怎么能扼杀这个过程?在
或者有可能抓住服务器.py使用函数调用处理并停止bjoern服务器实例?在
不管您在哪里运行进程,您试图检索PID的方式都是不正确的。在
PID=$(ps ax | grep 'server.py')
将无法获取PID。它将返回的不仅仅是PID。在检查以下示例:
正如您可以从上述输出中了解到的,您将需要过滤掉您需要的流程,这可以通过以下方式完成:
^{pr2}$从上面的输出中可以看到,它只返回需要从中获取PID的行。最后一个命令提供您想要的东西,即PID
因此,不要使用您正在使用的内容,请使用:
或者
如果您已经知道进程名,那么您只需使用命令
pidof
。在相关问题 更多 >
编程相关推荐