shell任务的前后台转换

你在使用脚本的时候有没有碰到这个现象

1.输入脚本的时候没有带 &,让脚本在前台执行,然后不小心按到了ctrl+c,中断了后悔着呢?

2.输入脚本的以后没有带&,结果过一会又想让他后台运行,你咋操作??难道是ctrl+c,然后从新执行一遍。

3.输入脚本的时候带了&,发现脚本有些错误,但是脚本中执行了好几个脚本,要手忙脚乱的kill掉,然后从新执行吗?

我估计玩脚本的人,上面的情况或多或少的都碰到过。那么有什么什么好的办法吗?

答案是有的。莫急,慢慢看下去,要有耐心,嘿嘿。

1)前台运行转后台。

如我编写了一个脚本run.sh

我先执行run.sh

shell任务的前后台转换

这个时候我的终端就不让我操作了,我想转后台运行。

首先按   ctrl + Z   ,

shell任务的前后台转换

 会出现  上面的图形,这个时候,脚本run.sh 转后台了,但是同时也停止了。

看看我们有几个任务。使用jobs

shell任务的前后台转换

我看到有2个脚本都在停止,ok,那么我们先吧第一个启动 

shell任务的前后台转换

 shell任务的前后台转换

我们看到,第一个工作是running,开始工作了。

现在就象开始在前台运行是一模一样的。

2)后台运行。

先运行run.sh &  ,然后看任务,执行 jobs 

shell任务的前后台转换

 那么如何转前台呢。可以使用fg命令

如下:

shell任务的前后台转换

就是先使用jobs看那个任务在后台,然后使用 fg + 任务号,将之转到前台来。

综合1)+2),就可以*的在前后台转换了,是不是又学了一招呢,来点赞吧!!! 

上一篇:Jupyter Notebook的使用


下一篇:Eclipse常用快捷键