背景
プロセスをkillしたい時って早くkillしたいものですが、相変わらずpidの入力が面倒過ぎるし時間もかかるので、pecoでkillできるようにしてみました。
fzfでもいいのですが設定が凝り過ぎてしまうのでpecoにしました。
プロセス名を絞り込んでの起動もできるようにしたので便利です。
設定
.bashrcに記入します。
function peco-kill() {
local PID PEC PRC
[ $# = 0 ] && { PEC="peco"; PRC=""; } || { PEC="peco --query $1"; PRC=$1; }
for PID in `ps aux | ${PEC} | awk '{ print $2 }'`; do
kill ${PID}
echo "killed: ${PRC} ${PID}"
done
}
alias pk="peco-kill"
保存したらシェルを再起動します。
exec $SHELL -l
使い方
pk
と入力すればps aux
の結果がpecoで表示されます。
pk
例えば、ps aux | grep node
みたいにnode
というワードで絞り込んで起動したい場合pk node
とかすればできます。
pk node
pecoが文字化けしたので
linuxmint22のパッケージ版だと、なんだか文字化けしたので、pecoのgithubからバイナリをダウンロードして、peco
を/usr/local/bin/
に入れたらちゃんと動きました。v0.5.11現在です。
おまけ。pecoのページ移動をPageDownキーで
ページ移動をついついPageDownキー・PageUpキーと指が反応してしまうので設定しました。
~/.config/peco/config.json
に
以下を追記
{
,
"Keymap": {
"Pgdn": "peco.ScrollPageDown",
"Pgup": "peco.ScrollPageUp"
}
}
現場からは以上です。
ありがとうございます。