
バックグラウンドで実行しようとしている小さな C コードがあります。 でプログラムを起動すると&
、top または ps でプロセスを見つけることができ、ファイルにパイプするか で実行すると、ターミナルまたはその他の場所に予想される I/O 表示が表示されますnohup
。
問題は次の通りです。アプリを起動してすぐにコマンド ラインに制御を戻すのではなく、ターミナルは Enter キーを押すまで (または上矢印を使用してコマンド履歴のスクロールを開始するまで) 待機して、コマンド ラインを再度表示するようです。アプリをバックグラウンドで起動して、Enter キーを再度押さずにコマンド ラインに再度アクセスすることは可能ですか? 、、などのさまざまな組み合わせを試しましたが、nohup
うまくdisown
いき2>&1
ませんでした。
答え1
アプリを起動するとすぐに制御がdoes
シェルに戻ります。これは、矢印キーで履歴にアクセスできることからもわかります。何らかの理由で、シェルはリターン キーを押すまでプロンプトを出力しません。Enter( ls
) を押す前にコマンドを入力することで、これを確認できます。その結果が画面に表示されるはずです。