我正在运行 Linux Mint 并且我正在尝试编辑我的符号文件但没有任何更改 - 我已经尝试重新启动 X 并重新启动计算机。最终我感到沮丧并尝试删除符号目录(好吧,将其移动到父目录),如果这有所作为,我将使用 TTY 恢复更改。我重新启动了计算机,但我仍然可以输入 - 为什么?
更多信息:我发现的唯一与 xkb 相关的目录(我使用过locate xkb
),是那些在/usr/share/X11/xkb
及其子目录中的目录,所以这些是我一直在编辑的文件。
我刚刚在一台新计算机上安装了 Ubuntu 12.04,apt-get install[ed] vim
并且我的别名出现了一些奇怪的行为Esc- 如果我处于INSERT
模式并键入Esc键,我退出INSERT
模式并且光标向左移动一个字符,正如预期的那样,但如果我输入jk
别名,我在我的定义.vimrc
是inoremap jk <Esc>
,我退出INSERT
模式,光标移动一个字符正确的,这实际上是相当令人不安。关于为什么会这样的任何想法?
我在脚本中有以下内容:
yes >/dev/null &
pid=$!
echo $pid
sleep 2
kill -INT $pid
sleep 2
ps aux | grep yes
Run Code Online (Sandbox Code Playgroud)
当我运行它时,输出显示它yes
在脚本结束时仍在运行。但是,如果我以交互方式运行命令,则进程将成功终止,如下所示:
> yes >/dev/null &
[1] 9967
> kill -INT 9967
> ps aux | grep yes
sean ... 0:00 grep yes
Run Code Online (Sandbox Code Playgroud)
为什么 SIGINT 在交互式实例中终止进程而不在脚本化实例中终止?
编辑
以下是一些可能有助于诊断问题的补充信息。我编写了以下 Go 程序来模拟上述脚本。
package main
import (
"fmt"
"os"
"os/exec"
"time"
)
func main() {
yes := exec.Command("yes")
if err := yes.Start(); err != nil {
die("%v", err)
}
time.Sleep(time.Second*2)
kill := exec.Command("kill", …
Run Code Online (Sandbox Code Playgroud)