Linuxは現在のコマンドが終了した後に直接プロセスを実行するか、シェルウィンドウを閉じて、プロセスは終了します。
バックグラウンドでプロセスを実行する方法
方法1
nohupコマンドを使用すると、nohupコマンド自体はno hung upを意味し、シェルは閉じられず閉じられません。プロセスを中止します。
nohupコマンドを使用して、コマンドをバックグラウンドで実行します。ジョブ-lを実行するとバックグラウンドが実行されます。
ピットを比較する場所は、シェルが直接閉じられている場合はバックグラウンドコマンドも閉じますシェルを終了するには、最初にコマンドを実行してからバックグラウンドで実行するために閉じる必要があります。
方法2
スクリプトを使用してバックグラウンドで実行します。たとえば、mongod --dbpath =" abc"を実行してmongodbを起動します。
最初にスクリプトtest.shを作成します。内容は次のようになります。
#!/bin /sh
mongod --dbpath =" abc> start mongodb& < Br>
#これは重要です。そうしないと、現在のコマンドを終了できません。
次にtest.shを直接実行します。この時点でmongodbはシャットダウンシェルを起動して実行しても停止しません。問題が発生しています。なぜなら、test.shで実行している
が即座に終了すると説明しているのです。バックグラウンドで実行し、test.shを実行している親プロセスが現在のシェルです(シェルのプロセス番号を表示するにはecho $$を参照)、test.shは実行されますが、mongodは実行されず、test.shは非常に責任があります。 Mongodはps -efを介してシステムのinitプロセスにホストされています。
Grep mongodは、mongodの親プロセスが1であることがわかります。
方法3
setsidを介してmongodの親プロセスをinitプロセスに直接設定します。
setsid mongod --dbpath =" abc" mongodbを起動し、mongodプロセスを確認して見つけます。親プロセスは1です。
参照:http://www.cnblogs.com/lwm-1988/archive/2011/08/20/2147299.html
Linux端末を使用することは、単にコマンドを入力するだけではありません。これらの基本的なテクニックを学んだ後は、Bashシェル、つまりほとんどのLinuxディストリビューションでデフ
VNCソフトウェアは唯一の2つの設定が必要ですリモートインタフェースのLinuxシステムに接続された他のマシンから提供されています 2、ファイアウォールをオフにして、ブートが設定され
Technologeeko Ubuntu bowerがEACCESを報告した:許可を得た解決法、bowerを使用するために使用されたower expressは、私のubuntuが悪い
Linuxシステムの使用頻度は少なく、デフォルトのブートエントリは非常に耐え難いため、Windows 7とUbantuのデュアルシステムになっています。デフォルトのスタートアップアイテム。 コンピュ