bashでプログラムを実行している場合、Ctrl+ を押すことでプログラムを一時停止できZます。プログラムを実行したままにしたい場合は、bg
コマンドを使用できます。入力せずに直接プログラムをバックグラウンドに配置する方法はありbg
ますか?
明確化:私はそれを一時停止することなく、すでに実行中のプログラムをバックグラウンドに置きたいです。
bashでプログラムを実行している場合、Ctrl+ を押すことでプログラムを一時停止できZます。プログラムを実行したままにしたい場合は、bg
コマンドを使用できます。入力せずに直接プログラムをバックグラウンドに配置する方法はありbg
ますか?
明確化:私はそれを一時停止することなく、すでに実行中のプログラムをバックグラウンドに置きたいです。
回答:
実行中のプログラムをバックグラウンドに移動することはできないと思います(プロセスがまだ実行状態のとき)。
ただし、GNU-Screenと呼ばれるアプリケーションがあります。これを使用すると、コンソールベースのアプリケーション(インタラクティブなコマンドシェル、cursesベースのアプリケーション、テキストエディターなど)を1つの端末内でいくつでも実行できます。
これがGNU-Screenの素晴らしいチュートリアルです。
それはあなたが要求したことを正確に行うわけではありませんが、とにかく目的を果たすことに注意してください。
例:これ
は、GNU-Screenを使用して要求したものの実装です。
screen
vlc
。そのウィンドウ内でプロセスが開始されます。 私の知る限りでは、それを実行し、次のように&を追加できます。myprogram &
しかし、私はここで非常に間違っているかもしれません。
[編集]:これをよく見て、上記を実行すると、ターミナルを閉じるとアプリケーションが閉じます。アプリケーションをバックグラウンドで実行したい場合は、私が知る限り、デーモンの動作をサポートするようにアプリケーションを作成する必要があります。
[編集2]: nohup command &
達成したいことに近いようです。Nohupはアプリケーションの実行を許可し、入力を無視nohup.out
し、現在のディレクトリで呼び出されるファイルに出力をリダイレクトします。
これは本当の答えではないかもしれません。UbuntuとMSYSのBashの違いは何でしょうか。
MSYSを実行していてApplication/Chrome &
、を実行すると、すぐにバックグラウンドプロセスに移動します。次のプロンプトが点滅を開始するときにMSYS bashを使用できます。
そして、この質問は、実行中のプログラムを同様の目的でバックグラウンドに移動しますか?