ts.*_*ts. 7 php linux phing command-line
我正在使用phing并通过ExecTask运行selenium服务器.有时我需要通过终止其进程来停止运行服务器.
是否有可能在ExecTask中产生进程的PID?
不,ExecTask 无法直接给出生成进程的 pid。它只能返回其退出状态和输出。
也许您可以修改在 ExecTask 本身中运行的命令来保存生成的进程的 pid。您可以用来$!获取最近的后台命令的 pid。
job1 & //start job1 and run in background, end command with &
p1=$! //stores the pid
echo $p1 //gives pid of job1
Run Code Online (Sandbox Code Playgroud)
当你想终止 selenium 服务器时,你可以在另一个 ExecTask 中调用它:
pkill pid_to_kill
Run Code Online (Sandbox Code Playgroud)
我不确定 ExecTask 在 shell 环境中所做的更改是否保留。如果是,那么您可以使用$p1. 将 pid_to_kill 替换为 $p1 以终止 job1。否则,您将必须回显 pid 并使用其输出中的值。
否则你就只好这么做了pgrep name_of_program。它将给出包含该名称的所有进程。然后你可以用 杀死它pkill。