🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

Q&A

解決済

1回答

3003閲覧

zshで謎のゾンビプロセスが生成される原因の究明

maikeru

総合スコア68

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

0グッド

0クリップ

投稿2019/12/08 09:49

編集2019/12/11 02:21

WindowsでシェルをzshにしてWSLを利用しているのですが、起動した瞬間や、Enterで改行、なにかコマンド(ls,cd,gcc,go,...)を実行するとzshにawkがぶら下がった謎のプロセスが知らぬ間に生成されます。そのため現在Windowsのタスクマネージャーでプロセスをみるとzshのプロセスが電力消費が非常に高いとなっており手動でタスクの終了を押したり、htopでkillを実行したりという状況です。

シェルをbashに変更すると、おかしなプロセスは生成されなくなったためzshに問題があると思うのですが原因を特定するためにできることは何があるでしょうか。また、以下のように原因調査のために試したことがあるのですが何か気づいたことはあるでしょうか。

  • ps aufx, pstree -ap
  • Wiresharkによるパケットのキャプチャ
  • lsof -p <PID>によるプロセスの使用しているファイルの確認
  • sudo strace -p <PID>でプロセスにアタッチして実行しているシステムコールの確認
  • 再起動 -> 効果なし
  • sudo apt remove zsh, sudo apt install zsh -> 効果なし
  • htopによるリアルタイムのプロセスの変化

pstree

1 2init,1 ro 3 ├─init,3 ro 4 │ └─zsh,4 5 │ └─pstree,513 -ap 6 ├─zsh,333 7 │ └─(awk,337) 8 └─zsh,477 9 └─(awk,481) 10

ps

1USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 2name 333 100 0.0 21284 1052 tty1 RN 18:03 1:12 -zsh 3name 337 0.0 0.0 0 0 tty1 Z 18:03 0:00 \_ [awk] <defunct> 4name 477 98.7 0.0 21416 1068 tty1 RN 18:04 0:13 -zsh 5name 481 0.0 0.0 0 0 tty1 Z 18:04 0:00 \_ [awk] <defunct> 6

Wiresharkでは特に特定の相手との大量の通信をしたりなどは見られませんでした。

straceでは以下のシステムコールをひたすら繰り返していました。

SIGCHLD rt_sigprocmask rt_sigprocmask wait4 gettimeofday wait4 rt_sigreturn kill(pid, SIGCONT) rt_sigprocmask sigsuspend

lsofでは/usr/lib/x86_64-linux-gnu/zsh/5.4.2/zsh以下のフィアル(拡張子soの共有ライブラリ)を10個ほど、lib/x86_64-linux-gnu/以下のフィアルなどを開いていました。

htopではEnterキーを押しているだけでルートにzshが生えてくるのを確認しました。あとは静的優先度が15と他のプロセスの20より低く優先度が高いことがわかりました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

.zshrc や .zshenv, .zprofile, .zshlogin 等の内容はどうなっていますか?

name 477 98.7 0.0 21416 1068 tty1 RN 18:04 0:13 -zsh
name 481 0.0 0.0 0 0 tty1 Z 18:04 0:00 _ [awk] <defunct>

や > htopではEnterキーを押しているだけでルートにzshが生えてくるのを確認しました。あとは静的優先度が15と他のプロセスの20より低く優先度が高いことがわかりました。 を見た感じでは、preexec や precmd 等のフック関数、PS1 等のプロンプト文字列の中で awk を動かしていそうに思います。

投稿2019/12/11 03:13

doda

総合スコア947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問