Bash 如何在Gvim内部后台运行进程?

Bash 如何在Gvim内部后台运行进程?,bash,shell,vim,Bash,Shell,Vim,实际上,我需要做的是在GVim中从插入模式开始的过程中使用CTRL-Z 我的命令:Cdprun执行运行sudo-ed守护程序的Cdprun.sh。我可以在sudo-ed后台程序调用的末尾添加&,以便在后台运行,这可以正常工作,但不会提示用户输入密码。相反,我只想退出CTRL-Z,但键盘中断不起作用。有什么想法吗?Thx.下面是一个脚本,用于处理vim中的异步命令。这不是一个完美的解决方案,但可能是一个很好的临时解决方案 在这种情况下,您通常有两种选择:generic使用@Nicalas Mart

实际上,我需要做的是在
GVim
中从插入模式开始的过程中使用CTRL-Z


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

下面是一个脚本,用于处理vim中的异步命令。这不是一个完美的解决方案,但可能是一个很好的临时解决方案

在这种情况下,您通常有两种选择:generic使用@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
,但是


为什么需要键盘中断?要在守护进程运行时中止守护进程或返回Gvim?
sudo run-daemon --daemon-args &
sudo sh -c "nohup run-daemon --daemon-args &"