bash - 如何在 Gvim 的后台运行一个进程?

标签 bash shell vim

好吧,我实际上需要做的是 CTRL-ZGVim 中的插入模式启动的进程。

我的命令 :Cdprun 执行 cdprun.sh,它运行一个 sudo-ed 守护进程。我可以在 sudo-ed 守护程序调用的末尾添加 & 以在后台运行并且可以正常工作,但不会提示用户输入密码。相反,我只想 CTRL-Z 退出它,但键盘中断不起作用。有任何想法吗?谢谢。

最佳答案

在这种情况下,您通常有两种选择:通用使用类似@Nicalas Martin 提到的 vim-addon-async 或具有内置解释器支持的 vim:tcl 与 expect 模块,python 与 pyexpect,perl 与 Expect,也许其他东西(注意:所有提到的包都没有随 tcl/python/perl 一起提供)。二是针对现状:在他处做背景。根据您的解释,我猜您的脚本看起来像

#!/bin/sh
<...>
sudo run-daemon --daemon-args # Last executed line

,我说得对吗?你可以把背景放在另一个地方:不是

sudo run-daemon --daemon-args &

,但是

sudo sh -c "nohup run-daemon --daemon-args &"

关于bash - 如何在 Gvim 的后台运行一个进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10033922/

相关文章:

linux - while 循环中的 awk 命令问题

bash - 使用 shell 脚本处理处理制表符分隔文件

linux - 如何在 Bash 脚本的循环中添加超过 1 个数字?

git - 在 vim 航空公司中,只显示 git 分支,不更改文件

linux - Jenkins : bash script ran with nohup is neither working nor writing anything to log

python - 进程组中的所有 child 并不总是看到信号

shell - 如何从SVN导出文件到远程FTP服务器

windows - 并行执行shell进程

ruby - vim iab调用函数插入不同的时间(时间戳)

Vimwiki 覆盖默认的 vim 命令 <c-i> 为 "jump forward in jump list",如何将它重新映射到其他键?