10

バッシュ:

$nohup sleep 10 &

しかし、私がターミナルを閉じると:

警告を終了します

何か案は?理想的には、Mongodbをバックグラウンドで実行したいと思います。

4

5 に答える 5

6

面白い。デフォルトのターミナルアプリに固有の問題のようです。なぜなら、その価値のために、iTerm2はこの動作を示しません。(つまり、nohupOS Xでは実際には壊れていません。これは、終了時にサブプロセスを探すターミナルでの特別な動作のように見えます。)

多くの点で、iTerm2はデフォルトのターミナルよりも優れています。あなたはそれを試してみるべきです!

于 2012-02-26T05:42:56.513 に答える
4

Snow Leopardでこれを試してみると、ダイアログがポップアップして、スリープが解除されると文句を言いましたが、ps -eafスリープを介してチェックすると、まだ実行されていました。

bill$ ps -eaf | grep sleep
  501 11806     1   0   0:00.00 ??         0:00.01 sleep 1000
  501 11811  2628   0   0:00.00 ttys001    0:00.00 grep sleep
于 2012-02-26T05:47:29.553 に答える
2

screenセッションで実行すると、問題なく動作するはずです。

于 2012-02-26T05:58:32.823 に答える
2

私はOSX10.8.5を使用しており、確認できます。

nohup base64 /dev/urandom &

Terminal.appベースのアプリ(TotalTerminalなど)は、launchdLinuxの動作に期待される/同等の動作ではなく、シェルセッションの下でプロセスを生成します。

一方、iTerm2.appは、の下launchdで同じコマンドを実行でき、シェルセッションが閉じられた後も存続しました。ただし、いくつかの特別なトリックを実装しています。

─┬◆ 00001 root /sbin/launchd
 ├─┬◆ 00245 albanj01 /sbin/launchd
 │ └─┬◆ 21533 albanj01 /Applications/iTerm.app/Contents/MacOS/iTerm2 -psn_0_94628409
 │   └─┬◆ 04684 albanj01 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell
 │     └─┬◆ 04685 albanj01 -zsh
 │       └──◆ 04759 albanj01 base64 /dev/urandom

私の側の同僚はOSX10.10.xで同じことを試し、Terminal.appはでnohupプロセスを生成しましたlaunchd。これは、10.8.x〜10.10.xの間に修正された可能性があることを示唆しています。

于 2016-04-11T10:44:07.127 に答える
0

tmuxを使用する

brew install tmux

tmux

「tee」コマンドを使用して、出力をtxtに保存します

python hello.py | tee -a ~/Downloads/output.txt
于 2019-11-13T06:56:25.497 に答える