- Community Home
- >
- HPE Community, Japan
- >
- HP-UX
- >
- System Management
- >
- リモートシェルでnohupを送る
カテゴリ
Company
Local Language
フォーラム
ディスカッションボード
フォーラム
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
ディスカッションボード
ディスカッションボード
ディスカッションボード
ディスカッションボード
フォーラム
ディスカッションボード
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
フォーラム
ブログ
- RSS フィードを購読する
- トピックを新着としてマーク
- トピックを既読としてマーク
- このトピックを現在のユーザーにフロートします
- ブックマーク
- 購読
- 印刷用ページ
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
12-28-2004 07:56 AM
12-28-2004 07:56 AM
リモートシェルでnohupを送る
ServerAからServerBの/etc/hoge.shをリモートシェルで動かしたいと思います。その際nohupを使って動かしたいと思いますが、以下の例では失敗しました。
/usr/bin/remsh ServerB -l user1 -n nohup /etc/hoge.sh &
以上の問題の回避方法をご存じの方、ご教授の程よろしくお願いします。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
12-28-2004 10:39 AM
12-28-2004 10:39 AM
リモートシェルでnohupを送る
man remsh にある例、
---
以下のコマンド行により、 remsh は、
リモート・コマンドが終了するのを待たずに即座に戻ります。
remsh otherhost -n "command 1>&- 2>&- &"
---
にならって、
remsh ServerB -l user1 -n "nohup /etc/hoge.sh 1>&- 2>&- &"
とするのはどうでしょうか。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
12-28-2004 03:55 PM
12-28-2004 03:55 PM
リモートシェルでnohupを送る
並列処理をさせたいのであれば、remsh自体を
バックグラウンドで動作させているので(最後の"&"は
ローカルのシェルが解釈しますので)、
実行したターミナルを閉じる、ローカルマシンを
シャットダウンするなどの操作が無ければ、
このままでも問題ないと思います。
remshプロセスが残ることが問題ならば、remshは
オープンされているセッションがすべて閉じる
まで終了しませんので、stdin, stdout, stderr
すべてをremsh<-->remshdのセッションから切り離す
必要があります。
stdinは-nオプションで/dev/nullにリダイレクト
できますが、stdout, stderrは、nadachiさんの
回答の通りクローズするか、/dev/nullなどへの
リダイレクトを行う必要があります。
(なお、このクローズの記法はPOSIX shellのものです。
リモートのログインシェルがcshの場合は、クローズ
できないようなので、>&/dev/nullでstdout, stderrの
両方をリダイレクトする必要があります。)
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
12-28-2004 04:36 PM
12-28-2004 04:36 PM
リモートシェルでnohupを送る
hoge.shの中身はjavaを起動させるプログラムになります。
通常メンテナンスなどでプログラムを単体で起動する際ServerBで nohup /etc/hoge.sh & で起動しています。
今回の目的はOmnibackでbackupを取得する際、hoge.shのプロセスをリモートシェルで停止/起動させることが目的です。
【ServerA(Omni Sever)から ServerBへリモートシェルをつかって】
1.omniback pre-execでhoge.shのプログラムを停止。
2.omnibackでbackup取得
3.omnibak post-execでhoge.shを起動。
ご返信いただいた内容で私が解釈すると、remshで起動する限り、とくに "&" は必要なく
/usr/bin/remsh ServerB -l user1 -n nohup /etc/hoge.sh を行えばよいのでしょうか?(ありはnohupはいらない?)
大変お手数ですが、ご教授の程よろしくお願いします。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
12-28-2004 06:30 PM
12-28-2004 06:30 PM
リモートシェルでnohupを送る
結論から先に言うと、
「remsh ServerB -l user1 -n "nohup /etc/hoge.sh >/var/tmp/log 2>&/var/tmp/log &"」(posix-shell, ksh)
か、
「remsh ServerB -l user1 -n "nohup /etc/hoge.sh >&/var/tmp/log &"」(csh)
のどちらかがよろしいかと思います。
(ファイルにリダイレクトしているのは、好みの問題です。エラーメッセージなどが後で参照できたほうが言いと思うので。または、hoge.shがjavaプログラムを起動する際にクローズしてもいいと思います。)
そのほかのパターンについては、それぞれ問題があります。
まず、「remsh ... nohup hoge.sh」とすると、hoge.shが終了しないかぎり、remshも終了せず、post-execのタイムアウトが発生します。
「remsh ... nohup hoge.sh &」では、post-execに定義した処理(スクリプト)は終了しますが、(多分)post-execのタイムアウトが発生します。
これは、OmniBackがpost-execスクリプトからのメッセージを得るためにパイプ(?)を使っていますが、これがクローズされないと、post-execが終了したと判断しないためです。
このパイプはそのままremshにも引き継がれますので、remshが終了しないとクローズされません。
「remsh ... "nohup hoge.sh &"」では、hoge.shがstdout, stderrをクローズしてくれないとremshが終了しないので、post-execが終了せず、タイムアウトする可能性があります。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
12-29-2004 08:30 AM
12-29-2004 08:30 AM
リモートシェルでnohupを送る
実は「remsh ... nohup hoge.sh」でタイムアウトが発生していました。
回答いただいた内容大変参考になりました。
ありがとうございました。