是否有一种方法可以确定zsh shell当前是否正在执行(任何)进程?我想绑定一个键只有当终端提示不可用时(即一个进程目前正在执行,所以用户不能执行新的命令)。这是为了便于访问。
例如,如果我有一个空白提示符:
zork@macbook $
,按下x
不起作用。
但如果我有一个长时间运行的进程,如开发服务器:
zork@macbook $ serve localhost:3000
我可以将x
键绑定到ctrl+C
。
有办法做到这一点吗?
当您运行serve localhost:3000
时,serve
将成为与您的终端交互的前台进程,而不是Zsh行编辑器(ZLE)。因此,在这一点上,ZLE不能再处理您的键绑定。相反,您必须在serve
中处理击键。