pha*_*joe 1 unix shell scripting kill
我正在尝试编写一个shell脚本,它会杀死所有正在运行的匹配特定模式的进程,然后重新启动它们.我可以用以下方式显示进程:
ps -ef|grep ws_sched_600.sh|grep -v grep|sort -k 10
Run Code Online (Sandbox Code Playgroud)
其中列出了相关流程:
user 2220258 1 0 16:53:12 - 0:01 /bin/ksh /../../../../../ws_sched_600.sh EDW02_env
user 5562418 1 0 16:54:55 - 0:01 /bin/ksh /../../../../../ws_sched_600.sh EDW03_env
user 2916598 1 0 16:55:00 - 0:01 /bin/ksh /../../../../../ws_sched_600.sh EDW04_env
Run Code Online (Sandbox Code Playgroud)
但我不太确定如何通过进程ID来杀死?
这sort似乎没有必要.您可以使用awk打印第二列xargs并将输出转换为命令行参数kill.
ps -ef | grep ws_sched_600.sh | awk '{print $2}' | xargs kill
Run Code Online (Sandbox Code Playgroud)
或者,您可以根据进程名称使用pkill或killall杀死:
pkill -f ws_sched_600.sh
Run Code Online (Sandbox Code Playgroud)