Chinaunix首页 | 论坛 | 博客
  • 博客访问: 290063
  • 博文数量: 84
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -10
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-05 09:11
文章分类
文章存档

2015年(1)

2014年(6)

2013年(8)

2012年(1)

2011年(6)

2010年(2)

2009年(16)

2008年(44)

我的朋友

分类: LINUX

2008-07-19 22:12:31

有时候一个脚本需要输入提示信息才能执行下去,这样就没发放到后台执行了。
那如何将已经运行的进程放到后台执行呢?
我拿一个例子给大家说明下,按照这几步做下.
 
1.[root@test7 wangzm]# tcsh
 
 
2.这是一个脚本
[root@test7 ~]# cat /home/wangzm/aa.sh
#/bin/sh
for x in `cat aa`
do
sleep 2
echo "$x"
echo "$x" >>bb
done
 
 
3.执行该脚本,输出如下的内容
[root@test7 wangzm]# sh aa.sh
a
a
a
 
4.Ctrl+z 把该进程挂起
[1]+  Stopped                 ./aa.sh
 
 
5jobs命令来查询它的作业号
[root@test7 wangzm]# jobs
[1]+  Stopped                 ./aa.sh
 
 
6.bg 1  把进程放到后台去执行
 
 
7.把session关掉,重新登陆,查看该进程还存在
 
[root@test7 ~]# fuser /home/wangzm/aa.sh
/home/wangzm/aa.sh:   3091
 
 
注意的地方是,因为只是把进程放到后台执行,如果停掉session,进程就不存在了。所以我门
在之前执行tcsh或者csh,这样关掉session进程就不会挂掉了。
fg 是将挂起的进程重新放回前台
=====================================================
 
 
第二种方法
[root@panta-service ~]# find / -name  aaaaaaaaaaaaaaaaa
ctrl+z 挂起
jobs查看作业号
bg 1 放到后台
disown -h %1 这样之后关掉session进程还存在.
 
disown是bash内部命令,nohup是外部命令
disown跟bg,fg一样是针对job进行操作,nohup是针对命令操作
disown -h 和nohup一样,在退出bash后,把进程的控制权都交给init
=====================================================
参考文挡
阅读(5034) | 评论(0) | 转发(0) |
0

上一篇:常用命令

下一篇:perl脚本

给主人留下些什么吧!~~