私はXubuntuを実行しており、コンピュータの起動時に自動的に起動するいくつかのプログラムがあります。同時に開始されたすべてのプログラムは互いに通信するのに問題がありました。代わりに、各プログラムを段階的に実行したいと思います。つまり、プログラムAを起動してから5秒後にプログラムBを起動する式です。どうすればいいですか?
答え1
私はこれを次のように実装します(おそらくXubuntuに優しい方法ではありませんが、うまくいくはずです):必要なすべてのプログラムを起動する起動スクリプトを作成し、そのスクリプトをXubuntuツールを使用して唯一の「自動起動」プログラムにします。スクリプトは次のとおりです。
#!/bin/sh
program1 &
sleep 5
program2 &
sleep 5
program3 &
または、次のように起動するプログラムが複数ある場合は、より良く見えます。
#!/bin/sh
PROGS=(
"program1 args"
"program3"
program2
# ...
)
for prog in "${PROGS[@]}"; do
${prog} & # no quotes here, because we want to support args
sleep 5
done