bashプロセスが9つある理由は何ですか、そのうちの1つがCPUを使いすぎるのはなぜですか。これを停止するにはどうすればよいですか。

bashプロセスが9つある理由は何ですか、そのうちの1つがCPUを使いすぎるのはなぜですか。これを停止するにはどうすればよいですか。

私はいつも9つの異なるbashプロセスを実行しています(時々多くを取得します。たとえば、現在37個のbashプロセスがあります)。この問題を発見しました、OPにも同様の問題があります。しかし、私はこれが重複しているとは思いません(これはデバッグ方法を尋ねたので、私の質問は直接的な理由でした)。これを実行しlsof | grep 'bash.*cwd'て。~/private/tmp

答えはそれを使うべきだと言ったが、それを使わなかったし、pstreeそれからそれを使うべきだと言ったが、ps aux -HBSDがある。psここで、-H は「違法な操作」です。だからこれをインストールしpstreeて実行しましたが、pstreeこれが私の結果です。

  -+= 00001 root /sbin/launchd
 |-+= 67440 root login -pf avnamn
 | | \--= 96033 avnamn -bash
 | | \--= 99021 avnamn -bash
 |   \-+= 99355 avnamn -bash
 |     \--- 99491 avnamn grep bash
 | \-+- 67441 avnamn -bash
 |   \--- 69408 avnamn -bash
 | \-+- 08457 avnamn -bash
 |   \--- 08513 avnamn -bash
 | \-+- 19936 avnamn -bash
 |   \--- 20053 avnamn -bash
 |-+= 90217 root login -pfl avnamn /bin/bash -c exec -la bash /bin/bash
 | \--- 90218 avnamn -bash
   \--- 20873 avnamn -bash

avnamn私のユーザー名です。そのポイントに属していないアイテムを削除しました。これは私に多くを知らせず、他の質問のOPとは異なり、再起動しても消えません。ファンが非常に騒々しくなり、プロセスが終了する可能性がありますが、しばらくしてから戻ってくるので、これは迷惑です。

ps aux出力、CPUを多く使用します。

avnamn          34737  51,4  0,0  2476312   4832 s000  R+    1:49am  14:14.28 -bash

top出力、CPUを多く使用します。

34737  bash             0.0  15:02.72 1/1   0   17+    4056K+ 0B     0B     34736 34736 running  *0[1+]      0.00000 0.00000    501 1959+     367+    182+        33+        4456+     213005750+ 215920747+  0       0        0.0   avnamn          N/A    N/A   N/A   N/A   N/A   N/A  

出力ps -ef | awk ' NR == 1 { header = $0; next } { pid[$2] = $0 } /bash/ { toprint[$2] } END { print header; for (i in toprint) { while (i != 1) { split(pid[i], pieces, " "); i = pieces[3]; toprint[i] } } for (i in toprint) { print pid[i] } }'

   0 54267     1   0 11:29pm ttys011    0:01.06 login -pf avnnamn
 501 61203 61158   0  6:57pm ttys007    0:00.00 -bash
 501 52955 52582   0 11:22pm ttys010    0:00.00 -bash
   0 54462     1   0  6:22pm ttys003    0:00.02 login -pf avnnamn
   0 61157     1   0  6:57pm ttys007    0:00.02 login -pf avnnamn
   0 15864     1   0  3:02pm ttys005    0:00.02 login -pf avnnamn
 501  8378  8377   0 11:39pm ttys012    3:39.31 -bash
 501  9716     1   0 11:47pm ??         0:00.39 /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
   0 52581     1   0 11:20pm ttys010    0:01.07 login -pf avnnamn
   0  8495     1   0 11:40pm ttys013    0:01.04 login -pf avnnamn
   0 71228     1   0  7:46pm ttys009    0:00.02 login -pf avnnamn
 501 54268 54267   0 11:29pm ttys011    0:00.03 -bash
 501  9751  9720   0 11:47pm ttys015    0:00.02 -bash
   0  9720  9716   0 11:47pm ttys015    0:01.15 login -pf avnnamn
 501  8496  8495   0 11:40pm ttys013    0:00.02 -bash
 501  8515  8496   0 11:40pm ttys013    0:00.00 -bash
 501 61158 61157   0  6:57pm ttys007    0:00.04 -bash
 501 71229 71228   0  7:46pm ttys009    0:00.08 -bash
   0 59136     1   0  6:46pm ttys004    0:00.03 login -pf avnnamn
   0 59962     1   0  6:50pm ttys006    0:00.02 login -pf avnnamn
 501 52582 52581   0 11:20pm ttys010    0:00.03 -bash
   0  3066     1   0  3:04am ttys000    0:00.13 login -pf avnnamn
 501 55004 54268   0 11:34pm ttys011    0:00.00 -bash
 501 73098 71229   0  7:55pm ttys009    0:00.00 -bash
   0  8377     1   0 11:39pm ttys012    0:01.04 login -pf avnnamn
 501 71202 71201   0  7:46pm ttys008    4:18.90 -bash
   0 28465     1   0 10:52pm ttys001    0:00.01 login -pf avnnamn
   0     1     0   0  2:53am ??         4:12.90 /sbin/launchd
 501  3067  3066   0  3:04am ttys000    0:00.05 -bash
 501  3152  3067   0  3:05am ttys000    0:00.00 -bash
 501  7043  7042   0  3:27am ttys002    0:00.02 -bash
 501  7048  7043   0  3:27am ttys002    0:00.00 -bash
 501 15865 15864   0  3:02pm ttys005    0:00.03 -bash
 501 16395 15865   0  3:05pm ttys005    0:00.00 -bash
 501 28466 28465   0 10:52pm ttys001    0:00.04 -bash
 501 28853 28466   0 10:55pm ttys001    0:00.00 -bash
 501 54463 54462   0  6:22pm ttys003    0:00.05 -bash
 501 54901 54463   0  6:24pm ttys003    0:00.00 -bash
 501 59137 59136   0  6:46pm ttys004    0:00.04 -bash
 501 59142 59137   0  6:46pm ttys004    0:00.00 -bash
 501 59963 59962   0  6:50pm ttys006    0:00.09 -bash
 501 61156 59963   0  6:57pm ttys006    0:00.00 -bash

ベストアンサー1

多くのCPUを消費するシェルプロセスが実行されている場合は、それがログインシェルかシェルスクリプトを実行しているプロセスかを確認する必要があります。ログインプロセスが多いようですが、通常別のttyに9回ログインしますか?

pstreeは、間違って行動する親を見つけるのに役立ちます。たとえば、私はpppデーモンがすぐに終了し、再起動する「悪い」シェルを生成するのを見ました。

しかし、シェルは多くのCPUを消費します。これはシェルスクリプトに問題があることを意味します。秘訣は、そのスクリプトが何であるかを調べることです。 Linuxのbashでは簡単です。 ls -l /proc//fd/10 このスクリプト名を教えてくれます。 bsdにこの機能があるかどうかはわかりません。

おすすめ記事