一个简单的自动重启脚本

我从init进程的respawn参数上得到了灵感,写了一个简单的脚本实现自动重启进程。脚本如下:

respawn.sh:实现测试命令printHello.sh的进程被杀死后,自动重启printHello.sh
#!/bin/bash
# respawn some command
while true
do
	# Command that start the process
	# I use a test script named printHello.sh
	$PWD/printHello.sh

	continue
done


测试用脚本
printHello.sh
#!/bin/bash

while true
do
	echo "Hello"
done

请将两个脚本放在同一目录下并赋予运行权限。
$ ./respawn.sh

在另一终端中运行
$ # show the process ID of printHello.sh
$ pgrep printHello.sh
$ # kill all the processes of printHello.sh(only one)
$ killall printHello.sh
在第一个终端中的输出并没有中断,而是重新运行了printHello.sh

你可能感兴趣的:(自动重启某个命令)