我要实现开机自启动,编辑 vi /etc/init.d/rcS,将我的程序加到如下位置:
.... .......................................#其他内容
/bin/sh
/upepri/mptmsu/bin/restartacqdatasys.sh
上面/upepri/mptmsu/bin/restartacqdatasys.sh是我要开机自启动的程序,如果放在/bin/sh后面,开机时,没启动起来,但放在/bin/sh前面,开机后就启动了,即改成如下就可以开机自启动
.... .......................................#其他内容
/upepri/mptmsu/bin/restartacqdatasys.sh
/bin/sh
我是菜鸟。刚从事linux,大侠们能说下为何放在后面不行的原因吗?是不是/bin/sh会挂起,导致其后所有的都不能执行?
8 个解决方案
#1
应该是 #!/bin/sh 吧
#2
弄得我也想知道怎么回事了
#3
二楼说得对,第一行应该是 #!/bin/sh
如果是 /bin/sh,那么它会执行不带参数的 /bin/sh,sh 会一直等待输入,由于 sh 进程不会退出,因而后面的进程都没有机会执行。
无需放到 rcS 中,自己在命令行下执行一下这个脚本,就可以发现它会产生一个新的交互式 shell 进程,按 Ctrl+D 或执行 exit 命令后,才继续执行脚本里后面的命令。
如果是 /bin/sh,那么它会执行不带参数的 /bin/sh,sh 会一直等待输入,由于 sh 进程不会退出,因而后面的进程都没有机会执行。
无需放到 rcS 中,自己在命令行下执行一下这个脚本,就可以发现它会产生一个新的交互式 shell 进程,按 Ctrl+D 或执行 exit 命令后,才继续执行脚本里后面的命令。
#4
/bin/sh是原有的,还是你加的?
#5
第一行就是 #!/bin/sh啊,我说的最后一行是 /bin/sh
我现在全部贴贴出来吧:
图片中的倒数第二行我要开机自启动的程序,如果放在倒数第一行后面即/bin/sh后就不会开机自启动,但是放在/bin/sh前面就可以,为啥呢?
#6
#3 楼已经解释了,道理一样啊
#7
谢谢解答,高分结贴
#8
谢谢解答,高分结贴
#1
应该是 #!/bin/sh 吧
#2
弄得我也想知道怎么回事了
#3
二楼说得对,第一行应该是 #!/bin/sh
如果是 /bin/sh,那么它会执行不带参数的 /bin/sh,sh 会一直等待输入,由于 sh 进程不会退出,因而后面的进程都没有机会执行。
无需放到 rcS 中,自己在命令行下执行一下这个脚本,就可以发现它会产生一个新的交互式 shell 进程,按 Ctrl+D 或执行 exit 命令后,才继续执行脚本里后面的命令。
如果是 /bin/sh,那么它会执行不带参数的 /bin/sh,sh 会一直等待输入,由于 sh 进程不会退出,因而后面的进程都没有机会执行。
无需放到 rcS 中,自己在命令行下执行一下这个脚本,就可以发现它会产生一个新的交互式 shell 进程,按 Ctrl+D 或执行 exit 命令后,才继续执行脚本里后面的命令。
#4
/bin/sh是原有的,还是你加的?
#5
第一行就是 #!/bin/sh啊,我说的最后一行是 /bin/sh
我现在全部贴贴出来吧:
图片中的倒数第二行我要开机自启动的程序,如果放在倒数第一行后面即/bin/sh后就不会开机自启动,但是放在/bin/sh前面就可以,为啥呢?
#6
#3 楼已经解释了,道理一样啊
#7
谢谢解答,高分结贴
#8
谢谢解答,高分结贴