送信しようとすると、SIGQUIT
次のメッセージが表示されます。
$ kill -s QUIT 4341
kill: unknown signal: SIGQUIT
kill: type kill -l for a list of signals
私はこれを見て驚きました:
$ kill -l
ZERR
だから何とかkill
すべての信号名がわかりません。これがUbuntuの素晴らしい点です(はい、アップグレードする時間ですが、それは別の質問です)
当然SIGQUIT
数字だけで送るのですが3
、kill
信号名を忘れてしまう原因は何ですか?
UPD:これはzshです。
$ type kill
kill is a shell builtin
$ echo $ZSH_VERSION $ZSH_PATCHLEVEL
5.0.2 1.5778
うまくいくかどうかを確認したので、/bin/kill
zshに関連することに違いありません。
ベストアンサー1
これは、zsh実行可能ファイルの構築方法に問題があるようです。シグナルのリストは、コンパイル時にオペレーティングシステムによって決定されます。信号ではなくエラーによる終了を示す「偽信号」がリストの最後に追加されZERR
ます。ビルドでは、オペレーティングシステムのシグナルリストが空です。
ステファン・チャゼラスが犯人を識別する、これは最新バージョンのGCCコンパイラとのビルドスクリプトの非互換性が修正されました。。最新バージョンのzshをビルドすると、問題を解決する必要があります。しかし、Ubuntu artfulには、あなたのバージョンよりも新しいバージョンのzsh 5.2が付属しています。以前の長期サポートバージョンのUbuntuにも5.1.1があります。したがって、互換性テストに以前のバージョンが必要ない限り、独自のバージョンを維持する理由はありません。この以前のバージョンを維持する必要がある場合は、以前のバージョンのGCCでビルドしてください。