我有一个基于 CentOS 的 Amazon Linux AMI,我试图设置自定义服务,其中将在启动时调用一个小的 bash 脚本(在特定位置创建一个虚拟文件)。
我按照本教程https://unix.stackexchange.com/a/20361创建了一个myscript
如下所示的自定义服务脚本,并/etc/init.d folder
以 777 权限和root
所有者身份将其复制到;
#!/bin/bash
# chkconfig: 2345 20 80
# description: Description comes here....
# Source function library.
. /etc/init.d/functions
start() {
echo -n "Starting myscript... "
su user
touch /data/startfile
return 0
}
stop() {
echo -n "Stopping myscript... "
su user
touch /data/stopfile
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
esac
exit 0
重新启动机器后,当我检查/data/
目录时,我可以看到两个文件startfile
以及stopfile
. 如果服务自动启动,这startfile
是可以预料的,但我想知道stopfile
. 有人可以解释为什么会这样吗?
谢谢
当您要求系统重新启动时,您的 initscript 将被调用:这可能stopfile
是在创建时。
在startfile
系统启动过程中如预期会被创建。
检查文件上的时间戳应该可以让您确认这一点:stopfile
应该在您要求重新启动的时间和系统实际重新启动的时间之间加上时间戳,并且startfile
应该是系统再次启动后的时间戳。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句