Bash 为什么我在/etc/init.d中的脚本在rc0.d和rc6.d中有K个符号链接,而在rc5.d中有S个符号链接,在关机时无法工作?

Bash 为什么我在/etc/init.d中的脚本在rc0.d和rc6.d中有K个符号链接,而在rc5.d中有S个符号链接,在关机时无法工作?,bash,shell,runlevel,Bash,Shell,Runlevel,我正在写一个脚本,我想在每次关闭ubuntu系统之前运行它。我已经将名为myscript的脚本放在/etc/init.d文件夹中,然后在rc0.d和rc6.d中创建了符号链接,在rc5.d中创建了K01myscript和S01myscript。但问题是脚本根本没有运行 我的脚本@paxdiablo- #!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LOGPATH=/home/user/Doc

我正在写一个脚本,我想在每次关闭ubuntu系统之前运行它。我已经将名为myscript的脚本放在/etc/init.d文件夹中,然后在rc0.d和rc6.d中创建了符号链接,在rc5.d中创建了K01myscript和S01myscript。但问题是脚本根本没有运行

我的脚本@paxdiablo-

#!/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LOGPATH=/home/user/Documents
lockfile=/var/lock/subsys/decomission
now=$(date +'%T')

start() {
    touch $lockfile
    echo "[$now] System startup" >> $LOGPATH/test.log
}

stop() {
    echo "[$now] System shutdown" >> $LOGPATH/test.log
    rm -f $lockfile
}

status() {
    echo "[$now] Hi, you're checking status" >> $LOGPATH/test.log
}

case "$1" in
  start)
      start
      ;;
  stop)
      stop
      ;;
  restart)
      $0 stop
      $0 start
      ;;
  status)
      status
      ;;
  *)
      ## If no parameters are given, print which are avaiable.
      echo "Usage: $0 {start|stop|status}"
      exit 1
      ;;
esac

在脚本开始时,必须设置路径,例如:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[testfolk@jomohost ~]$  sudo chkconfig --list|grep myscript
myscript             0:off   1:off   2:on    3:on    4:off    5:on    6:off

这个问题很老了,但我今天正在处理这些问题,所以我只想检查一下,您是否添加了要在init下运行的脚本/服务。我想您需要检查
chkconfig--list的输出。如果未列出,则未将其配置为由init系统执行。例如:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[testfolk@jomohost ~]$  sudo chkconfig --list|grep myscript
myscript             0:off   1:off   2:on    3:on    4:off    5:on    6:off

剧本是做什么的?脚本的文件模式设置为可执行吗?你最好在。脚本本身的问题将被视为编程问题(如果它是脚本,您应该发布它),但这很可能是Linux配置问题。@潜伏者感谢您的回复。脚本只是将一些内容写入/home/user目录中的一个文件,是的executable@paxdiablo谢谢你的建议。我也会把它贴在那里。谢谢,潜伏者。我刚把它贴在那里。谢谢,@UtLox我也试过了,但它不起作用。我正在附上我的脚本,请看一看。