![]() |
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| cronのデフォルトのシェル | dummy_9746 | シェルプログラミングとスクリプティング | 2 | 2008年10月13日 02:25午後 |
| cronはシェルスクリプトが実行される | ashish.sharma | シェルプログラミングとスクリプティング | 3 | 2008年9月8日 02:57午前 |
| シェルスクリプトでは、複数のcronをすることは可能ですか? | ヤムニThoppen | AIX | 4 | 2007年12月17日 03:23午前 |
| シェルスクリプトとcronを | deppy82 | シェルプログラミングとスクリプティング | 3 | 2007年8月2日 01:00午後 |
| シェル+オラクル+ cronジョブ | pathanjalireddy | シェルプログラミングとスクリプティング | 1 | 2005年4月7日 02:07午前 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
シェルで実行するcronのどちらか優れている
まあ専門家らは、
私は、スクリプトのcronで1分ごとに定義されて実行されます。 コード:
* * * * * /export/home/myscript.sh >/dev/null 2>&1 しかし、 cronは1分後に別のインスタンス(プロセス)を実行myscriptが呼び出されます。この場合、そのインスタンスへの確率だと思うと重複する問題を引き起こす可能性があります。 がある場合は、以下のシェルスクリプト(バックグラウンドで実行されることがありますが重複するためのチャンスです)は1分ごとに実行されます大丈夫です。スクリプト毎分後に別のインスタント起動します。 コード:
#!/usr/bin/bash
while :
do
sleep 60 & pid=$!
/export/home/myscript.sh
wait $pid
done
/ /紫色 |
|
||||
|
この問題には別の解決策ですが、あなたの` myscript.shにいくつかのコードを追加する必要があります。 runingされている場合は、あなたのプログラムが、あなたのプログラムはシェルスクリプトですが、ロックなどのいくつかの種を入れ、次の行を追加することができます:
コード:
...
lock=/export/home/.myscript.lock
trap "rmdir ${lock}; exit 2" 1 2 3 15
# Now lock. If lock fails, then propably the program is runing.
mkdir ${lock} || exit 0
...
Here comes the script code
...
# Now unlock, so another instance of this program can run in the future.
rmdir ${lock}
バイ... |
|
||||
|
引用:
コード:
#!/usr/bin/bash
lock=/export/home/.myscript.sh.lock
trap "rmdir ${lock}; exit 2" 1 2 3 15
mkdir ${lock} || exit 0
...
Here comes my script code
...
rmdir ${lock}
その後、私のcrontabでスクリプトを置くことができます。 1分毎のcronプロセスとその場合は子プロセスを起動します。しかし一方で、プログラム( myscript )別のプロセスと子プロセスを実行することができるIDです。 右? / /紫色 |
|
||||
|
さらに、
myscript.shを実行しているとプロセスIDは、以下のこと言わせ- のSolaris : / home/user1 > psの、アルファベットのF |はgrep myscript.sh 午前14時36分50秒のSolaris 25907 10427 0 ? 0:00 /エクスポート/ホーム/ myscript.sh 私のcronを1分間隔でmyscript.sh 。そのためには、 1分間隔ごとに、再度実行するSolarisのmyscript.sh 。 Solarisの場合には、次のprocss myscript.sh 5月assingしようと思いますか(これは重複)を示す番号25907 ? まだ実行している..... procss番号25907 |