Mac OS X sshのnohupまたは永続的なプロセス


9

私はこれが以前に尋ねられたことを知っていますが、答えはどれもOS X Mountain Lionではうまくいかないようです。SSH経由でプロセスを起動し、プロセスを強制終了せずにターミナルを閉じたいのですが。

nohup ccl64 -e '(ql:quickload :"file")' & 

動作しません。ターミナルが閉じられると、プロセスは終了します。

nohup ccl64 -e '(ql:quickload :"file")'

こっちも一緒。

道があるに違いない。これは、どのLinuxシステムでも標準として機能するので非常に迷惑ですが、Mac OS Xはこれらの組み合わせのいずれでも機能しません。

回答:


9

常に機能するのは、screenです。http://ss64.com/osx/screen.html Mac OS Xではデフォルトで利用できるようです。

編集:http : //web.archive.org/web/20130413070916/http : //macdevcenter.com/pub/a/mac/2004/07/06/unix_gems.html別のチュートリアルの画面。

さらに、使用方法に関するいくつかの簡単なヒントがあります screen

新しい「画面」インスタンスを開く

$ screen

画面で、次のように画面を「切り離す」(または閉じる)ことができます。

ctrl+A and then press D

画面を再開するには、通常、次のようにします。

$ screen -x

画面インスタンスが複数ある場合は、そのIDが表示されます。その場合、次のように再開するインスタンスを選択できます。

$ screen -r <screen id>

sshでscreenを実行してから、nohupコマンドを渡しますか?&の最後に&なしで?

必要はありませんnohup。screen ccl64 ...&を実行するだけです。後で、必要に応じてscreen -Rで再接続して進行状況を監視できます。また、単に画面を実行し、そこにコマンドを入力し、あなたはCtrlキー+ A D.と切り離すことができます
CHX

起動後に画面出力をファイルに保存することは可能ですか?

もちろん、画面はすべてを行うことができます。画面-Xが必要ですhardcopy。詳細については、bbs.archlinux.org / viewtopic.php?id = 47521を参照してください。
12

5

screen代わりに試してください。それでも、デフォルトのインストールの一部であるはずです。デフォルトのシェルとしてscreenを使用するもいるので、nohupをまったく気にする必要はありません。


2
screenでnohupコマンドを実行する方法を説明できますか?

nohupの代わりにscreenを使用してから、画面を切り離します。sshセッションが終了しても、プログラムは引き続き機能します。
Sven

詳細man screenについては、を参照してください。
Sven
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.