消息关闭
    暂无新消息!

linux自定义开机自启项问题

问题作者 : 猪肉仔2017-07-29发布
写了一个shell scrip,并成功添加到开机自启项中。
但经过测试发现这个进程只能存在5分钟。
百思不得其解,望各位解答。

14个回答

︿ 2
我的情况是 $FILE 被改变的话,后面的脚本 inotify-cpu 会被马上执行的。
︿ 0
上面 while-do-done 跟你的脚本情况不一样,它会停在 inotifywait 这一行,直到 inotifywait 被触发才会执行下一行。
︿ 0
你这个脚本没有延时,一秒钟会跑多少次?

如果你只是想当 /home/jet/*.sh 有更新时就备份,可以考虑用 inotify-tools 来监测 /home/jet/。一样能做到“马上备份”这个效果,而且不会像你现在的脚本这么耗费资源。

︿ 0
看下是哪个信号停止的脚本
循环体在命令前加上:trap "" SIGINT,如下:

#!/bin/sh
while true
do
    trap "" 2
    echo "hello"
    sleep 2
done

过滤下信号量,这样应该不会退出了
︿ 0
不一定是占太多资源被 kill。运行错误也会退出。

下面是我在用的脚本的一部分:
while true #run indefinitely
do 
inotifywait -e modify $FILE && /bin/bash $dir/inotify-cpu $FILE
done

inotifywait 监测 $FILE 是否被改变 (modify),如果 $FILE 被改变就执行 另外一个脚本 inotify-cpu。
︿ 0
另外,你的 cp 命令有问题:如果 cp 第二次执行,就会停下来问你要不要覆盖档案。

用 cp -af 应该好一点。
︿ 0
我的脚本只监测一个现存的档案,你的情况可能不一样。


参考一下:
http://man.linuxde.net/inotifywait


看看 inotifywait 后面参数是不是应该改为 :
inotifywait -e modify,delete,create

︿ 0
另外,将 cp 改为 cp -af /home/jet/*.sh /home/jet/Backups 试试。

/home/jet/Backups 是不是已经存在?如果不存在,记得 mkdir。