2016-03-07 41 views
3

不幸的是我没有suspend命令(busybox/ash)。但是我可以使用kill -STOP $$从背景壳(sh &)返回到父壳(以及后面的fg)。
但不是打字时长杀命令我想编写一个脚本(名为暂停),它应该这样做:如何使用脚本暂停背景壳?

#!/busybox sh 
kill --STOP $$ 

但这并没有工作。我似乎打开另一个shell并同时挂起它。

那么什么是正确的挂起脚本,我怎么称呼它(exec?)?

+1

好主意。你的意思是暂停脚本只是'kill -STOP $$',我用'调用它。/sbin目录/ suspend'?我要试一下。原则上起作用的是 – deetee

+1

。但我必须输入'。暂停“(以点和空白开始)。是不是有一种简单的“挂起”的解决方案? – deetee

+1

对不起,我迟到的评论,你打字比我快。不幸的是我使用灰,我不知道ash是否支持.ashrc(?)中的别名。我会尝试,但原则上我想没有别名(只需键入一个命令)。 – deetee

回答

1

要总结一下我写在上面的评论:

最简单的方式得到一个简单的命令,你正在试图做的是根据this website使别名在~/.profile

echo 'alias suspend=kill --STOP $$' >> ./~profile # Add alias to .profile 
source ./~profile # Let ash update its list of aliases 

现在您可以使用简短的suspend命令。

由于子进程不能轻松(或根本)修改父级的环境,因此使用脚本可能很难做到这一点。