linux bash脚本杀死进程并在kill后再次启动它

时间:2014-07-28 19:14:24

标签: linux bash kill-process

我在计算机上使用不同的配置文件运行多个Chrome浏览器。配置文件的名称类似于“prof1”“prof2”和“prof3”。现在我需要创建一个可以杀死特定chrome进程的脚本并重新启动它。

我不能使用killall命令因为我需要具体哪个chrome浏览器我要杀死,如果我使用kill命令脚本退出kill命令后。

我尝试过这样的事情:

#!/bin/bash

kill -9 `ps ax | grep -i prof1 | awk '{print $1}'` &
sleep 2

export DISPLAY=:0.0

/usr/bin/chromium-browser --restore-last-session --user-data-dir=/path/to/prof1/ %U &

这个脚本运行良好,但在kill命令退出后(说“杀死”),浏览器永远不会再次启动。杀戮命令没有任何“安静”选项。没有必要尝试2>& 1因为“Killed”输出来自终端而不是来自stderr / stdout。我尝试过“set -e”和其他很多东西,但没有运气。

任何帮助/提示任何人?

1 个答案:

答案 0 :(得分:0)

您可以使用的是pkill' --full / -f标记,它将与整个命令行匹配:

$ sleep 1d &
[1] 23335
$ pkill -f 'sleep 1d'
[1]+  Terminated              sleep 1d

你不应该使用kill -9