Chinaunix

标题: 指定时间段让特定进程sleep [打印本页]

作者: 初识orcl    时间: 2013-10-31 10:10
标题: 指定时间段让特定进程sleep
     我现在有一个需求,在指定的时间内,让给定的进程成sleep状态;
   现在知道获得进程号的命令 ps -ef|grep  aaa|awk '{print $2}'
    以及sleep

    直接用shell是否可以实现,还是需要用C实现
作者: rdcwayx    时间: 2013-10-31 10:23
本帖最后由 rdcwayx 于 2013-10-31 12:23 编辑

怎么样的进程算是sleep 状态?怎么个sleep 状态?
给个思路, 如果进程是个脚本,加个自动检测,判断:如果有/tmp/abc.lck 文件,就进入sleep, 没有就继续
作者: 关阴月飞    时间: 2013-10-31 10:40
本帖最后由 关阴月飞 于 2013-10-31 10:40 编辑

回复 1# 初识orcl


可以试试向进程发送信号:
  1. 18) SIGCONT 让一个停止(stopped)的进程继续执行. 本信号不能被阻塞. 可以用
  2. 一个handler来让程序在由stopped状态变为继续执行时完成特定的
  3. 工作. 例如, 重新显示提示符
  4. 19) SIGSTOP 停止(stopped)进程的执行. 注意它和terminate以及interrupt的区别
复制代码

  1. kill -19 uruid
  2. sleep 10
  3. kill -18 uruid  
复制代码

作者: 初识orcl    时间: 2013-10-31 10:57
本帖最后由 初识orcl 于 2013-10-31 11:03 编辑

回复 2# rdcwayx

    大大,您好,你的思路是不是我以下这中描述呀,我主要困难就是 知道PID 但是不知道怎么制定这个PID,让其sleep,linux小白,大大见谅,描述问题不是很透彻。{:2_172:}

    其实是一个数据库导出命令,exp
        例如我查看 ps -ef|grep exp

              oracle   12644 12604  0 09:04 pts/1    00:00:00 sh exp.sh
              oracle   12645 12644  6 09:04 pts/1    00:00:01 exp               file=abc.dmp log=abc.log rows=n compress=y
              oracle   12656 12604  0 09:05 pts/1    00:00:00 grep exp
      
       我现在想在10点到12点将
          oracle   12645 12644  6 09:04 pts/1    00:00:01 exp               file=abc.dmp log=abc.log rows=n compress=y

       这个进程sleep。
     想法,检测系统时间,10点时sleep 2h。
  

          通过ps -ef|grep exp|grep -v grep|wak '{print $2}'

    可以得到 exp.sh 和exp命令 执行的进程id

             我想通过进程id来让这2个命令sleep 2小时。
                     
   
作者: 初识orcl    时间: 2013-10-31 10:59
本帖最后由 初识orcl 于 2013-10-31 11:00 编辑

回复 3# 关阴月飞


    大前锋你好。看一下我4楼的回复,这下需求描述的比较到位{:2_170:}
作者: 关阴月飞    时间: 2013-10-31 11:11
回复 5# 初识orcl

大概是这么个思路:你可以在每天的10点制一条计划任务:

  1. #暂停指定的进程
  2. pid=`ps -ef|grep exp|grep -v grep|awk '{print $2}' `
  3. kill -19 "$pid"

  4. #等待2小时
  5. sleep 7200

  6. #运行被暂停的进程
  7. kill -18 "$pid"
复制代码

作者: 初识orcl    时间: 2013-10-31 11:24
回复 6# 关阴月飞


    这就是我想要的大前锋,原来只知道kill -9.原来kill功能这么强大
作者: 关阴月飞    时间: 2013-10-31 11:31
回复 7# 初识orcl


我不是大前锋啊。。。。。。。啊。。。。。啊。。。。。。   
作者: reyleon    时间: 2013-10-31 11:47





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2