如何使kill <tab>显示ps </tab>显示的进程

时间:2014-11-29 06:54:15

标签: zsh

当我输入kill -9时,它会显示所有进程[zsh:你希望看到所有119种可能性(119行)吗?]。来自/System/Library/的很多流程,我不在乎。

如果我只是直接在shell中输入ps,它只会显示几个进程。例如:

  PID TTY           TIME CMD
 5872 ttys000    0:00.08 -zsh
 6011 ttys000    0:00.00 ./server
 6014 ttys001    0:00.07 -zsh

如何让此自动完成功能显示仅使用ps显示的流程?

PS:我正在使用Mac OS

1 个答案:

答案 0 :(得分:1)

我自己想通了。

lib/completion.zsh文件中,

你可以改变:

if [ "$OSTYPE[0,7]" = "solaris" ]
then
  zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm"
else
  zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w"
fi

if [ "$OSTYPE[0,7]" = "solaris" ]
then
  zstyle ':completion:*:*:*:*:processes' command "ps -o pid,user,comm"
else
  zstyle ':completion:*:*:*:*:processes' command "ps -o pid,user,comm -w -w"
fi