The UNIX and Linux Forums  
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。

Go Back   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午前

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2009年1月3日
thepurple thepurple is offline
登録ユーザー
  
 

参加日: 2007年10月
投稿数: 134
シェルで実行するcronのどちらか優れている

まあ専門家らは、

私は、スクリプトのcronで1分ごとに定義されて実行されます。

コード:
* * * * * /export/home/myscript.sh >/dev/null 2>&1
今すぐ実行を完了させるために、この問題も2月3日分以上かかりますがmyscript.sh実施されています。

しかし、 cronは1分後に別のインスタンス(プロセス)を実行myscriptが呼び出されます。この場合、そのインスタンスへの確率だと思うと重複する問題を引き起こす可能性があります。


がある場合は、以下のシェルスクリプト(バックグラウンドで実行されることがありますが重複するためのチャンスです)は1分ごとに実行されます大丈夫です。スクリプト毎分後に別のインスタント起動します。

コード:
#!/usr/bin/bash
while :
do
    sleep 60 & pid=$!
    /export/home/myscript.sh
    wait $pid
done
あなたの貴重な提案をしていただけませんか?

/ /紫色
  #2固定リンク)  
Old 2009年1月3日
Panos1962 Panos1962 is offline
登録ユーザー
  
 

参加日: 2008年12月
場所:テッサロニキ、ギリシャ
投稿: 29
この問題には別の解決策ですが、あなたの` 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}
overlapingプロセスを実行するため、この種のプログラムを保護するためにより良いの私は、このような場合には、このようなコーディングの方が好きだ。そのためには、いずれかの場合、 cronはシェルスクリプト寝nohupを好むか、プロセスのインスタンスで実行するように脆弱ですsimultaneus場合、これが不可能であるロックのいくつかの種類を使用します。
バイ...
  #3固定リンク)  
Old 2009年1月3日
2k7.vipin 2k7.vipin is offline
登録ユーザー
  
 

参加日: 2009年1月
投稿: 5
この方法を試すことができます

# ! / usr / binに/ bashの
中:
する
/エクスポート/ホーム/ myscript.sh
pidを\u003d $ !
$ pidを待つ
完了した
  #4固定リンク)  
Old 2009年1月3日
thepurple thepurple is offline
登録ユーザー
  
 

参加日: 2007年10月
投稿数: 134
引用:
当初の投稿 Panos1962 View Post
コード:
...
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です。

右?

/ /紫色
  #5固定リンク)  
Old 2009年1月3日
thepurple thepurple is offline
登録ユーザー
  
 

参加日: 2007年10月
投稿数: 134
さらに、

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
Closed Thread

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 01:12午後


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0