タグ付けされた質問 「ps」

psに関する質問については、実行中のプロセスに関する情報を出力するためのコマンド。このタグは、ps自体に関する質問や、psコマンドラインユーティリティの使用から発生する問題に関する質問に使用します。

3
バックグラウンドで実行されているbashシェルスクリプトを終了する
多くの場合、bashシェルスクリプトを使用して、さまざまなファイルに対して簡単なコマンドを実行します。例えば、私は次があるとbash呼ばれるシェルスクリプト、script.shプログラム/コマンドを実行し、foo3つのテキストファイルには"a.txt"、"b.txt"、"c.txt": #!/bin/bash for strname in "a" "b" "c" do foo $strname".txt" done また、それfoo $strname".txt"が遅いと仮定すると、スクリプトの実行には長い時間がかかります(たとえば、数時間または数日)。このためnohup、端末が閉じられたり切断されたりしても実行が継続されるように使用したいと思います。また、スクリプトをすぐにバックグラウンドに移動させたいので、&演算子を使用します。したがって、次のコマンドを使用して呼び出しますscript.sh。 nohup bash script.sh & これは、スクリプトをバックグラウンドでハングアップせずに実行する場合には正常に機能しますが、何らかの理由である時点で実行を終了したいとします。これどうやってするの? 私が遭遇した問題は、を見るとtop、にfoo対応するものだけが見えること"a.txt"です。そのfoo呼び出しを終了することはできますが、foo対応する"b.txt"が呼び出されると、その呼び出しも終了する必要があります。forループで指定された数十または数百のテキストファイルの場合、すべてfooを1つずつ終了するのは面倒です!そのため、代わりにシェルスクリプトから発行された特定の呼び出しではなく、シェルスクリプト自体を代わりに終了する必要があります。 コマンドを入力するとき ps -u myusername myusernameユーザー名はどこにあるのか、実行中のプロセスのリストを取得します。しかし、という2つの異なるプロセスIDが表示されbashます。これらのプロセスがあれば、どのプロセスが元の呼び出しに対応しているかを知るにはどうすればよいnohup bash script.sh &ですか?

4
プロセスのIDを見つけて強制終了する
バックグラウンドプロセスを終了する必要があるときはいつでも ps -e | grep <process_name> それはこのような何かを印刷し1766 ? 00:00:13 conkyにそれから私は、プロセスIDを使用して、killそれがとても好きですkill 1766。 これを簡単にする方法はありますか?早くする?入力の量を減らしますか?
16 process  grep  kill  ps 

5
特定の名前を持つすべてのプロセスを強制終了するにはどうすればよいですか?
コマンドを実行し、次のps -A | grep <application_name>ようなプロセスのリストを取得します。 19440 ? 00:00:11 <application_name> 21630 ? 00:00:00 <application_name> 22694 ? 00:00:00 <application_name> 私は、リストからすべてのプロセスを殺したいです:19440、21630、22694。 試しましたps -A | grep <application_name> | xargs kill -9 $1が、エラーが発生します。 kill: illegal pid ? kill: illegal pid 00:00:00 kill: illegal pid <application_name> どうすれば優雅にこれを行うことができますか?
16 grep  process  kill  ps 

1
「watch ps aux | grep foo`` [終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 2年前休業。 watch ps aux | grep foo 動かない: bash: syntax error near unexpected token `}' これを修正するにはどうすればよいですか、それとももっと良い方法がありますか?
16 bash  pipe  ps  watch 

5
ソースコードなしでプログラムの引数を非表示にする
実行中のプログラムに対する機密性の高い引数を非表示にする必要がありますが、ソースコードにアクセスできません。また、共有サーバーでこれを実行しているので、hidepidsudo特権がないため、次のようなものは使用できません。 ここに私が試したいくつかのものがあります: export SECRET=[my arguments]に続いてを呼び出しますが./program $SECRET、これは役に立たないようです。 ./program `cat secret.txt`どこsecret.txtに私の議論が含まれていますが、全能者psは私の秘密を嗅ぎ分けることができます。 管理者の介入を必要としない私の引数を隠す他の方法はありますか?
15 linux  process  ps  arguments 


2
どちらを選択するか-BSDまたはUnixスタイルのコマンドが利用可能な場合は?
コマンドにpsは多くのパラメーターがあります。特に、UnixとBSDスタイルのフラグを選択するオプションを使用するためです。ここで私の論点が得られれば幸いです。 だから、そのようなオプションが利用可能な場合、すべてのLinuxシステム間で最大の互換性を得るためにどのオプションを選択すべきですか?(最大互換性は、たとえば優先順位の1つです) Unixスタイルが非常に明白であることは知っていますが、何らかの理由でBSDコマンドにはより読みやすい情報(たとえば、CPUの列などの列タイトル)が含まれています。もちろん、私が間違っているなら私を修正してください、しかし、それは私が感じたことです。
14 linux  bsd  ps 

3
「ps ax」が「#!」ヘッダーなしで実行中のbashスクリプトを見つけられないのはなぜですか?
このスクリプトを実行すると、殺されるまで実行することを意図しています... # foo.sh while true; do sleep 1; done ...を使用して見つけることができませんps ax: >./foo.sh // In a separate shell: >ps ax | grep foo.sh 21110 pts/3 S+ 0:00 grep --color=auto foo.sh ...ただし#!、スクリプトに共通の " "ヘッダーを追加するだけの場合... #! /usr/bin/bash # foo.sh while true; do sleep 1; done ...その後、同じpsコマンドでスクリプトが検索可能になります... >./foo.sh // In a separate shell: >ps …

1
子プロセスのリストをエレガントに取得する
親が$ pidであるすべてのプロセスのリストを取得したいと思います。これは私が思いついた最も簡単な方法です: pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g" 子プロセスのリストを取得するコマンド、またはより簡単な方法はありますか? ありがとう!
13 process  ps 


3
psのcputimeの出力をフォーマットします
ある期間にわたってプロセスのCPU使用率を監視できる(グラフを作成する)スクリプトを記述しようとしています。 これまでのところ、これは私が使用しているコマンドです ps -p $PROCID -o cputime,etimes 私の唯一の懸念は、cputimeの出力が[dd]hh:mm(または似たようなもので、今では頭の外では思い出せない)に見えることです。 秒単位で経過時間を取得するetime-> etimesのようなcputimeを秒単位でフォーマットする方法はありますか? 編集:これは私が現在受け取っている出力です 2-03:01:33 2653793 最初のパラメーターは、日-時間:分:秒ではなく、秒単位でフォーマットする必要があります。


4
`ps`のいくつかの条件で選択する方法はありますか?
私は盲目的に明白な何かが欠けているようですが、それでも: ps -f -u myuser --ppid 1 プロセスの親pidのみを確認しているように見え、ユーザーがいない場合でも、親pidが1であるすべてのプロセスを返しますmyuser。 -u正しく単体作品(のプロセスだけを選択myuser)を: ps -f -u myuser 何が欠けていますか?のいくつかの条件でフィルタリングする組み込みの方法はありpsますか? 編集: 私の現在の回避策: ps -f -p $(join <(ps h --ppid 1 -o pid | sort) <(ps h -u myuser -o pid | sort))
12 linux  ps 

1
「?」とは TTYの下で表す
ps端末で実行すると、次のようなメッセージが表示されることがあります。 なに??私はLinuxサーバーにsshしているのでsshd、それはCMDで言うとおりだと思いますが、ターミナルインスタンスを表すために何?が考慮されているのか知りたいですpts/1。
12 ssh  process  tty  ps 


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