Bashでバックグラウンドで4つのプログラムを開始

Bashでバックグラウンドで4つのプログラムを開始

小さな問題があります。 2つのセンサー動作をシミュレートする4つの小さなプログラムを作成しました。 1つずつ実行する必要があるので、より簡単にするために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の権限を付与しました。

助けてくれてありがとう。

私の質問に対する答えはコメントにあります。

ベストアンサー1

おすすめ記事