Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxオペレーティングシステムプログラムのフォアグラウンドバックグラウンドスイッチ

Linuxオペレーティングシステムプログラムのフォアグラウンドバックグラウンドスイッチ

  

Linuxプログラムのフォアグラウンドバックグラウンドスイッチ1. Linux端末がコマンドを実行するときに、コマンドの末尾に&記号を追加すると、プログラムにバックグラウンドでUbuntu $" root @を実行させることができます。 Ubuntu $ ./tcpserv01&

2.プログラムがフォアグラウンドで実行されている場合は、Ctrl + zオプションを使用してプログラムを一時停止してから、bg%[number]コマンドを使用してプログラムをバックグラウンドにしてUbuntuを実行できます。 Cat @ Ubuntu:〜/unp /unpv13e /tcpcliserv $ ./tcpserv01 ^ Z [1] +停止しました./tcpserv01 cat @ Ubuntu:〜/unp /unpv13e /tcpcliserv $ bg%1 [1] + ./tcpserv01&cat; cat @Ubuntu:〜/unp /unpv13e /tcpcliserv $

3.実行中のすべてのプログラムで、jobs– lコマンドを使用してcat @ Ubuntuを表示できます。〜/unp /unpv13e /tcpcliserv $ jobs -l [ ,null,null,3],1] + 4524 ./tcpserv01&

の実行4. fg%[number]コマンドを使用してプログラムを最前面にドロップし、cat @ Ubuntuを実行することもできます。〜/unp /unpv13e /tcpcliserv $ fg%1。 /tcpserv01

5、バックグラウンドで実行中のプログラムを直接終了することもできます。killコマンドcat @ Ubuntuを使用してください。 〜/unp /unpv13e /tcpcliserv $ kill%1
次のコマンドを使用したシェルサポート制御:1.コマンドを実行してバックグラウンドで実行します2.ジョブ実行しているバックグラウンドを表示します3. fg%nバックグラウンドにします4. bg%nプロセスnをバックグラウンドに移動させます; PS:「n」は、ジョブが表示されているプロセス番号です。

B.次の順番:http://blog.chinaunix.net/u/1604/showart_1079559.html fg、bg、jobs、&ctrl + zはシステムタスクに関連していますが、現在は基本的に、これらのコマンドを使用する必要はありませんが、学ぶことも非常に実用的です。 &ほとんどの場合、コマンドの最後にこれを使用しますが、このコマンドをバックグラウンドに配置して2つ実行することができます。 Ctrl + zを押すと、フォアグラウンドで実行されているコマンドをバックグラウンドに入れて3回一時停止することができます。バックグラウンドで現在実行されているコマンド数を確認するためのジョブ。バックグラウンドで複数のコマンドがある場合は、fg%jobnumberを使用して、選択したコマンドを呼び出すことができます%jobnumberは、jobsコマンドでチェックされたバックグラウンドで実行されているコマンドのシリアル番号です(pidではありません)。 )

5つ。バックグラウンドで一時停止しているコマンドを連続実行にしますバックグラウンドに複数のコマンドがある場合は、bg%jobnumberを使用して選択したコマンドを呼び出すことができます%jobnumberは、jobsコマンドによって検出されるバックグラウンドで実行中のコマンドのシーケンス番号です。 pidではありません

#Linuxタスクを制御するにはShellコマンドを使用します次のコマンドを実行するジョブを使用して、プロセスタスクを操作できます。psシステム内で実行中のプロセスを一覧表示します。 jobsidが指定されていない場合、すべてのアクティブなタスクステータス情報が表示されます;タスクが終了した場合(つまり、タスクのステータスがTerminatedとマークされた場合)、jobsは現在のシェル環境で開始されたタスクのステータスを一覧表示します。 )シェルは現在のシェル環境に認識されているリストからタスクのプロセスIDを削除します; bgはプロセスをバックグラウンド(Background)に移動します; fgはプロセスをフォアグラウンド(Foreground)に移動します。 Xグラフィックスで作業していると、terminalコマンドを使ってGUIプログラムを実行した経験があるかもしれませんが、GUIインターフェースが出てきますが、あなたの端末はまだ元の状態のままです。あなたはGUIプログラムをオフにしない限り、あなたは、シェル内で他のコマンドを続けることはできません。

プログラムの実行後も端末がコマンドを受け付け続けるようにするには、プロセスをバックグラウンドに移動し、次のコマンドでプログラムを実行します。#xmms $ xmmsを実行すると仮定すると、端末はプロンプトを表示します。帰ってきたxmmsはバックグラウンドで実行されていますが、プログラムの実行時に'&'を使用し忘れた場合は、再実行したくないので、ctrl + zを使用してプログラムを中断し、bgと入力します。背景は動き続けます。

コンセプト:現在のタスクバックグラウンドに2つのタスク番号がある場合[1]、[2];最初のバックグラウンドタスクが正常に実行され、2番目のバックグラウンドタスクがまだ実行中の場合、現在のタスクタスクは自動的にバックグラウンドタスク番号のバックグラウンドタスクになります<; [2]'そのため、現在のタスクが変わることを指摘できます。ユーザーが< fg>、< bg>、< stop"などのコマンドを入力したときに、引用符が追加されていないと、変更は現在のタスクになります。

jobsまたはpsコマンドを使用してジョブの実行結果を確認するジョブが実行されます+は現在のジョブを示し、minusテーブルは現在のジョブの後にあるジョブを示します。ジョブのステータスは実行中、停止中、終了済みですが、タスクが強制終了されると、シェルは現在のシェル環境に認識されているリストからタスクのプロセスIDを削除します。 jobsコマンドは、現在のシェル環境でバックグラウンドで実行中または中断されているタスク情報を表示し、プロセスがハングするとバックグラウンドプロセスがハングします:solarisでstopコマンドを実行し、jobsコマンドでジョブ番号を表示します。つまり、stop%numを実行します;つまり、stopコマンドがない場合は、kill -stop PIDコマンドを実行してプロセスを中断でき、現在中断されているタスクを再実行する場合は、bg%numを使用できます。中断されたジョブの状態を停止から実行中に変更し、まだバックグラウンドで実行中であり、フォアグラウンドで実行する必要がある場合は、コマンドfg%numを実行すると、フォアグラウンドプロセスがハングします。バックグラウンド・プロセスの終了を終了します。方法1:jobsコマンドを使用してジョブ番号(numと見なされる)を表示してからkill%numを実行します方法2:psコマンドを使用してジョブのジョブ番号(PID、pidと見なす)を表示してからkill pid foregroundを実行するプロセスの終了:ctrl + cを殺す他のロールを殺すプロセスに加えて、プロセスを終了するだけでなく、他のシグナルを送信することもできます、kill -lを使用するとkillシグナルのサポートを確認できます。

SIGTERMは、パラメータがない場合にkillによって送信されるシグナルです。つまり、プロセスは終了しますが、プロセスがサポートしているかどうかによって異なります。プロセスが終了していない場合は、カーネルによって終了されるkill -SIGKILL pidを使用できます。プロセスはこのシグナルを受信できません。

Copyright © Windowsの知識 All Rights Reserved