免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2952 | 回复: 6
打印 上一主题 下一主题

怎样写个shell用来启动和停止perl [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-24 11:07 |只看该作者 |倒序浏览
有个perl程序 test.pl

请问用shell怎样来停止和关闭该perl程序?

多谢了!

论坛徽章:
0
2 [报告]
发表于 2007-07-24 11:23 |只看该作者
原帖由 tony9427 于 2007-7-24 11:07 发表
有个perl程序 test.pl

请问用shell怎样来停止和关闭该perl程序?

多谢了!

启动就把perl test.pl放到shell中就可以了。

kill的话也可以,
在shell中添加一行:

grep -ef|grep test.pl|grep -v grep |perl -ne 's/^\s*\S+\s+(\d+).*/$1/;system("kill $1");'


[code]

论坛徽章:
0
3 [报告]
发表于 2007-07-24 11:31 |只看该作者
s/^\s*\S+\s+(\d+).*$/$1/可以用m/^\s*\S+\s+(\d+).*$/代替。

\s*是因为aix 和linux 在ps 的时候 linux行首没有空格,aix行首有空格

论坛徽章:
0
4 [报告]
发表于 2007-07-24 12:02 |只看该作者
原帖由 hmilymb 于 2007-7-24 11:23 发表

启动就把perl test.pl放到shell中就可以了。

kill的话也可以,
在shell中添加一行:

grep -ef|grep test.pl|grep -v grep |perl -ne 's/^\s*\S+\s+(\d+).*/$1/;system("kill $1");'




多谢阿,不过开头的grep是不是应该改为ps

另外 perl -ne 's/^\s*\S+\s+(\d+).*/$1/ 是什么意思啊? 不理解

论坛徽章:
0
5 [报告]
发表于 2007-07-24 12:09 |只看该作者
另外
若test.pl是个循环
我的shell怎样才能退出来呢?

vi test.sh

#!/bin/bash/

perl test.pl



当运行./test.sh 的时候,在命令行下面一直不退出,只有杀掉该进程的时候才会退出来

论坛徽章:
0
6 [报告]
发表于 2007-07-24 12:18 |只看该作者
原帖由 tony9427 于 2007-7-24 12:09 发表
另外
若test.pl是个循环
我的shell怎样才能退出来呢?

vi test.sh

#!/bin/bash/

perl test.pl



当运行./test.sh 的时候,在命令行下面一直不退出,只有杀掉该进程的时候才会退出来


nohup perl test.pl &

论坛徽章:
0
7 [报告]
发表于 2007-07-24 12:38 |只看该作者
原帖由 tony9427 于 2007-7-24 12:02 发表


多谢阿,不过开头的grep是不是应该改为ps

另外 perl -ne 's/^\s*\S+\s+(\d+).*/$1/ 是什么意思啊? 不理解


  1. [hjj]|/home/hjj/test $perl test.pl &
  2. [1] 12203
  3. [hjj]|/home/hjj/test $ps -ef |grep test.pl|grep -v grep
  4. hjj      12203  9966  0 12:17 pts/5    00:00:00 perl test.pl
复制代码


perl -e 表示命令行
     -n 表示一行一行从标准输入(或者从文件)
     s/^\s*\S+\s+(\d+).*$/$1/
     正则表达式,这个我不多说了,说了白说,功能是取pid

----------------------------------------------------
更正s/^\s*\S+\s+(\d+).*$/$1/ 应该是
s/^\s*\S+\s+(\d+)\s.*$/$1/

[ 本帖最后由 hmilymb 于 2007-7-24 12:46 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP