为什么我的程序没有在脚本中调用?

时间:2016-12-04 06:25:02

标签: linux

我创建一个程序(一个守护程序),并将它放在一个脚本中,该脚本将在启动时被调用。脚本如下所示。通过这种方式,我的程序根本没有被调用。因为我查了ps | grep myprogram。请注意,脚本read_something.sh不存在!

#!/bin/bash

modprobe some_driver
dmesg | grep BIOS > /bioslog

setsid /usr/bin/myprogram &
read_something.sh

但我交换了最后一项的序列,然后调用myprogram并在守护进程中运行。

#!/bin/bash

modprobe some_driver
dmesg | grep BIOS > /bioslog

read_something.sh
setsid /usr/bin/myprogram &

为什么?

更多: 我的脚本通过systemd服务自动调用。 我的程序monitor可以加载。

root@tomxue--------:~# ps | grep monitor
  480 root     36288 S    /usr/bin/monitor
  984 root      7796 S    grep monitor
root@tomxue--------:~# cat /usr/bin/speaker_autoexe.sh 
#!/bin/bash

exec 2>/home/root/123.log; set -x

read_sn.sh
setsid /usr/bin/monitor &
root@tomxue--------:~# cat 123.log 
+ read_sn.sh
/usr/bin/speaker_autoexe.sh: line 5: read_sn.sh: command not found
+ setsid /usr/bin/monitor

无法加载程序监视器的情况。

root@tomxue--------:~# ps | grep monitor
  769 root      7796 R    grep monitor
root@tomxue--------:~# cat /usr/bin/speaker_autoexe.sh 
#!/bin/bash

exec 2>/home/root/123.log; set -x

setsid /usr/bin/monitor &
read_sn.sh
root@tomxue--------:~# cat 123.log 
+ read_sn.sh
+ setsid /usr/bin/monitor
/usr/bin/speaker_autoexe.sh: line 6: read_sn.sh: command not found

0 个答案:

没有答案