![从 bash 在后台启动 4 个程序](https://linux22.com/image/216098/%E4%BB%8E%20bash%20%E5%9C%A8%E5%90%8E%E5%8F%B0%E5%90%AF%E5%8A%A8%204%20%E4%B8%AA%E7%A8%8B%E5%BA%8F.png)
我有一个小问题,我创建了 4 个小程序,应该模拟 2 个传感器的操作。我需要它们一个接一个地运行,所以我将它们放在 bash 脚本中以使其更容易。
#!/bin/bash
cd ~/sensors/RANSensor
nohup python3 ~/sensors/RANSensor/DataGenerator.py -i ~/sensors/RANSensor/pm.csv > ~/output1.log 2>&1 &
cd ~/sensors/RANSensor
nohup python3 ~/sensors/RANSensor/main.py -i ~/sensors/RANSensor/pm.csv -o ~/data > ~/output2.log 2>&1 &
cd ~/sensors/RanTestSensor/target
nohup java -jar ~/sensors/RanTestSensor/target/RanTestSensor-1.0.0-SNAPSHOT-jar-with-dependencies.jar -p ~/sensors/RanTestSensor/src/main/resources/metric.generator.properties >~/output3.txt 2>&1 &
cd ~/sensors/UserSesnsor/target
nohup java -jar ~/sensors/UserSesnsor/target/UsersSensor-1.0.0-SNAPSHOT-jar-with-dependencies.jar -p ~/sensors/UserSesnsor/src/main/resources/metric.generator.properties >~/output7.txt 2>&1 &
但是,问题来了,因为当我运行脚本时,命令不运行。我知道这一点是因为输出文件是空的并且生成的数据文件(由 python 脚本生成)未更新。该jobs -l
命令也没有显示任何内容。我知道这些命令是正确的,因为如果我在终端中手动运行它们,一切都会正常。有谁知道可能出了什么问题吗?
操作系统是Ubuntu 20.04.02,没有桌面。
我给了所有脚本权限 777。
预先感谢您的任何帮助。