nohupがファイル〜/ nohup.outを作成しないようにするにはどうすればよいですか?


16

コマンドを使用$ nohup ...してバックグラウンドでアプリケーションを起動し、後でターミナルウィンドウを閉じます。

実行すると、ファイルが作成されます~/nohup.out

例:

orschiro@x230:~$ nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py"
nohup: ignoring input and appending output to 'nohup.out'

nohup作成を防ぐにはどうすればよいnohup.outですか?


2
また考慮するかもしれませんbyobu。:)
アンドレアラザロット

@AndreaLazzarottoありがとうございます!使用方法の例を教えてください。
-orschiro

2
まあ、私はあなたがここにビデオを見てお勧め:byobu.co基本的に、あなたはあなただけの実行やりたいことのためにbyobu、押して、あなたが好きなスタートF6とあなたが行われています。byobu再度実行すると、それに戻ることができます。
アンドレアラザロット

優秀な!これを公式の回答として追加したいですか?
-orschiro

技術的には、私の提案はあなたの質問にはまったく答えません。これは単なる代替案です。:D
アンドレアラザロット

回答:


20

次のように、出力を好きな場所にリダイレクトできます。

nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py" >/dev/null 2>&1

リダイレクトにより、デフォルトの出力ファイルnohup.outが作成されなくなります。/dev/null忘却なので、データがまったく必要ない場合は、そこに送信します。

bashのでは、短縮することができます>/dev/null 2>&1&>/dev/null

私がよく使用するプログラムの場合、たとえばエイリアスを作成します(そして自分のに追加します.bashrc)。

alias show_state='nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py" >/dev/null 2>&1'

入力する必要があるのは show_state


2
@orschiro:数年後、それは不可解ではなく、あなたはそれを覚えているでしょう;)私はそれに固執することをお勧めしますあなたの頭の重要なスキルです。
モニカとの軽さレース

これは関数としての方が良いのではないでしょうか?のようなものshow_state () { /bin/bash -c "$@" &>/dev/null }?(警告:構文が貧弱で、おそらく動作しません!これは単なる例です!)。ちょっとした注意:なぜshow_state出力を破棄するのnohupですか?
イスマエルミゲル

@IsmaelMiguelのスクリプトの動作はわかりませんが、「状態」(それが何であれ)を標準出力に出力するのではなく、トレイアイコンのあるインジケーターであると想定しています。確かに、関数はエイリアスよりも楽しいかもしれません^。^
Zanna

あ、わかった!.pyファイルの名前が​​表示されませんでした。そして、はい、関数はもっと楽しいです。私は、Debianデスクトップ上に次のようにひどく書かれた機能を持っています:shutup() { source "$@" >/dev/null 2>&1 & }。そしてそれは動作します。似たようなものを提案できたかもしれませんが、もっといいですか?
イスマエルミゲル

私はそれが&>うまくいったことを知りませんでした(そして私の心には、背景と標準出力リダイレクトのように見えます)私はいつもそれを学んだ>&。標準ですか?
Random832
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.