我想在终端中使用 bash 脚本启动带有 proxychains 的 emacs,然后退出终端。但是代码
(proxychains emacs &)
exit 0
不要退出终端。有什么办法吗?
答案1
尝试这个测试脚本。
t.sh
#!/bin/bash
sleep 5
echo bye bye
sleep 5
pid=$( ps -f | grep "bash" | grep -v grep )
kill -HUP $pid
好的,打开一个新的命令行终端窗口。从该窗口中,执行刚刚创建的 bash 脚本(假设您将其命名为“t.sh”,如上所示)。
bash t.sh
您应该看到命令行窗口在 10 秒后消失,因为 shell 脚本通过杀死启动它的 bash 进程来自杀。
我认为可能有一种更简单的方法可以做到这一点,但我不记得那是什么。
无论如何,根据您的描述,我认为这就是您想要实现的目标。
编辑:
我其实并不喜欢上面的解决方案。在我看来,你真正想要做的可能是在后台运行 bash 脚本并使用“nohup”,这样你就可以注销。
然后发生的情况是,该过程将继续运行直到完成,然后消失,这基本上就是我认为您所要求的。
你可以这样做:
t1.sh
#!/bin/bash
echo "I am doing my thing then leaving" > /tmp/t1.log
sleep 10
exit 0
然后从命令行:
nohup bash t1.sh &
然后继续并注销。
15 秒后返回,您应该有一个文件“/tmp/t1.log”,其中包含您的输出。