タグ付けされた質問 「process-management」

トピックがシステムプロセス管理に関するものである場合は、このタグを使用します。このために使用されるコマンドは、たとえば、psおよびkill -9 xxxxおよびservice xyz start | stop | restartおよびhtopのようなものです。多くの場合、メモリ管理と組み合わせて使用​​されます。

1
実行中のプロセスに対して排他的なCPU可用性を確保する方法は?
最初は、OSがプロセスの実行を管理するので、質問は少しばかげている/混乱しているように見えます。 ただし、CPU / IOにバインドされているプロセスの量を測定したいので、たとえば、OSがスケジュールされたOSプロセスの実験に干渉しているように感じます。 例として次の状況を考えてみましょう。プロセスAを2回実行し、ツール「time」から次の出力を得ました(秒単位の時間列)。 +---+-------+---------+-----------+---------+ |Run|Process|User Time|System Time|Wall time| +---+-------+---------+-----------+---------+ |1 |A |196.3 |5.12 |148.86 | |2 |A |190.79 |4.93 |475.46 | +---+-------+---------+-----------+---------+ ご覧のとおり、ユーザーとシステムの時間は似ていますが、両方の経過時間は大幅に変化します(最大5分の差)。私の環境で何かが競合を引き起こしたように感じます。 私は実験中にあらゆる種類のノイズを避けるために、可能な限りすべてのバックグラウンドプロセス/サービスを停止したいのですが、私は初心者/中級のUNIXユーザーであり、これを保証する方法がわかりません。 私が使用しています4.4.0-45汎用のLinuxとUbuntuの14.04 LTS 64ビットを。 本当に助かりました。不足している情報が必要な場合は、すぐに投稿を編集します。 CPU情報 $ grep proc /proc/cpuinfo | wc -l 8 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little …

9
プロセスが常に実行されていることを確認する
私はしばらく前にチェロキーを使用してサイトのホスティングを開始しました。外部ソース(FastCGIなど)の場合、指定されたソケットまたはポートで実行されているプロセスが見つからない場合、プロセスを起動するオプションがあります。これは、PHPまたはDjangoサイトが(ときどき)倒れた場合に自動的に再起動することを意味するため、素晴らしいです。 PHP-FPMを使用する新しいサーバーでは、Cherokee(PHPにバグがある)を使用できなかったため、NGINXに移行しました。私は本当にNGINXが好きです(その構成スタイルのため)が、プロセスが転倒して再生成されないという深刻な問題があります。PHPはこれを行うことがありますが、Djangoサイトはさらに問題があります。私はそれらのために初期化スクリプトを作成し、それらはブート時に起動しますが、これは再起動の間にそれらが結びつく場合私には役立ちません。 FastCGIプロキシを探していると思います。Cherokeeのように、どのプロセスがどのソケット/ポートで実行されるべきかを知っており、それらをオンデマンドで再生成します。そのようなものは存在しますか?これをNGINXに組み込む方法はありますか(構成を簡単にするため)?

2
実行中のプロセスを確認するにはどうすればよいですか?
Ubuntu Server 10.10を使用していますが、実行中のプロセスを確認したいと思います。PostgreSQLが私のマシンで実行されていることは知っていますが、topor psコマンドでは表示されないため、実行中のプロセスのすべてが表示されているわけではないと思います。実行中のすべてのプロセスを表示する別のコマンドがありますか、topまたはpsこれで使用できる他のパラメーターはありますか?

4
複数のプロセスを強制終了する方法
useを強制終了するプロセスのPIDを見つけるには: pgrep <process command> 次に、killコマンドを使用して、返されたPIDを殺します pgrep <process command> kill <PID> これらのコマンドを1つに組み合わせて、PIDまたはPIDを返すことができpgrep <process command>ますか?または、コマンド名で複数のプロセスを強制終了する方法はありますか? 何かのようなもの : kill(pgrep <name of process>)

6
プロセスを他のユーザーから見えないようにする方法は?
この質問は、UnixおよびLinux Stack Exchangeで回答できるため、Stack Overflowから移行されました。 8年前に移行され ました。 プロセスを起動してtopコマンドから見えないようにするにはどうすればよいですか?プロセスは(rootではなく)通常のユーザーによって開始され、他の通常のユーザーには表示されません。

2
niceness値(-)はどういう意味ですか?
マニュアルページおよびウィキペディアによると、nice-20〜20の範囲。 それでも、次のコマンドを実行すると、一部のプロセスに(-)などの非数値が含まれていることがわかります。タイトルが「NI」の左から6番目の列を参照してください。 (-)の良さは何を示していますか? ps axl F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 4 0 1 0 20 0 19356 1548 poll_s Ss ? 0:00 /sbin/init 1 0 2 0 20 0 0 0 kthrea S ? 0:00 [kthreadd] 1 0 3 2 -100 - …

2
プロセスごとのファイアウォール?
私は読んでいますが、プロセスごとのファイアウォールルールを作成する方法を見つけることができないようです。私は知ってiptables --uid-ownerいますが、それは発信トラフィックに対してのみ機能します。私はスクリプティングnetstatを検討しましたiptablesが、プロセスが短い時間枠でのみアクティブである場合、スクリプトはそれを逃す可能性があるため、これは非常に非効率的なようです。基本的に、他のプロセスに影響を与えずに、プロセスのポートとdstに関する特定の制限を適用したいと思います。何か案は? 参考のために、selinuxはまさにこれを行うことができ、かなりうまく機能します。ただし、セットアップは少し面倒です。

2
UNIXのプロセスにはどのように番号が付けられていますか?
プロセステーブル(ps -a)のPIDの番号付けを見ると、パターンが見つかりません。PIDは後続の番号ではなく、これらの番号の間に大きな「ギャップ」があるためです。短時間実行されるプロセスがいくつかあり、それらがいくつかのPIDを予約しているからでしょうか?プロセスの番号がリセットされる範囲はありますか? 私はMac OS Xを使用していますが、答えはUNIX全般に当てはまると思います。



2
特定のPIDが実行されているかどうかを確認するにはどうすればよいですか?
ログファイルを解析してPIDを収集し、そのPIDが実行されているかどうかを確認するPerlスクリプトを作成しています。私はそのチェックを行うための最良の方法を考えようとしています。明らかに、私は次のようなことができます: system("ps $pid > /dev/null") && print "Not running\n"; ただし、可能な場合はシステムコールを避けたいと思います。そのため、/procファイルシステムを使用できると考えました(移植性は問題ではありません。これは常にLinuxシステムで実行されます)。例えば: if(! -d "/proc/$pid"){ print "Not running\n"; } それは安全ですか?/proc/$pid/ディレクトリがない場合、関連するPIDが実行されていないと常に想定できますか?AFAIK ps自体は/procとにかくその情報を取得するので、私はそう期待していますが、これは本番コード用であるため、確実にしたいです。 それで、実行中のプロセスに/proc/PIDディレクトリがない場合や、/proc/PIDディレクトリが存在し、プロセスが実行されていない場合がありますか?psディレクトリの存在を確認するよりも解析を好む理由はありますか?


4
bashでの2つの同時コマンドを含むCtrl-C
Linuxマシンのbashで2つのコマンドを同時に実行したい。したがって、私の./execute.shbashスクリプトに次のように記述します。 command 1 & command 2 echo "done" ただし、bashスクリプトを停止してCtrl+を押したい場合はC、2番目のコマンドのみが停止します。最初のコマンドは実行を続けます。完全なbashスクリプトが停止したことを確認するにはどうすればよいですか?または、いずれにせよ、両方のコマンドを停止するにはどうすればよいですか?この場合、Ctrl+ を何度押しCてもコマンドが実行され続け、端末を閉じる必要があるためです。


3
Systemdとプロセスの生成
通常はここに投稿しないでくださいが、私はこの髪の毛を切り取っています。起動時に分岐し、他のプロセスの束を開始するPythonスクリプトがあります。このスクリプトは、起動時にsysvinitを介して起動されていましたが、最近Debian Jessieにアップグレードしたため、systemdを介して起動するように適合させました。 残念ながら、解決できない問題に直面しています。ユーザーシェルでスクリプトを直接起動すると、その子プロセスが正しく起動され、スクリプトが終了すると、子プロセスは孤立して実行を継続します。 systemdを介して起動した場合、親プロセスが終了すると、子もすべて終了します(まあ、画面はダイで起動し、死んでいるように見えますか?) 理想的には、すべての子プロセスを強制終了せずに親スクリプトを再起動できる必要がありますが、何か足りないものはありますか? ありがとう! [Unit] Description=Server commander After=network.target [Service] User=serveruser Type=forking PIDFile=/var/Server/Server.pid ExecStart=/var/Server/Server.py ExecStop=/bin/kill -s TERM $MAINPID [Install] WantedBy=multi-user.target 編集:Pythonスクリプトは、本質的にその子プロセスの「コントローラー」であると指摘することはおそらく関連があります。中央サーバーからの要求に応じて、GNU画面でサーバーを起動および停止します。通常は常に実行されており、サービスを生成して終了しません。ただし、プロセスがpid 1に孤立していることを意味する場合でも、子プロセスを強制終了せずにスクリプトをリロードできるようにしたい場合があります。実際、Pythonスクリプトが可能であれば、親プロセス。 仕組みのより良い説明: Systemdは/Server.pyを生成します Server.pyはSystemdのpidファイルを分岐して書き込みます Server.pyは、その指示に基づいてgnu画面にサーバープロセスを生成します Server.pyは、サーバーから要求された再起動を実行するために実行を続けます Systemdを使用せずに起動すると、Server.pyを再起動でき、起動するgnu画面は影響を受けません。Systemdで起動すると、Server.pyがシャットダウンすると、それらのスクリーンプロセスがpid 1に孤立する代わりに、それらは強制終了されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.