LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 947|回复: 3

关于管道的问题:多个输入参数,或者多个输出怎么处理:)[已解决][感谢chunchengfh]

[复制链接]
发表于 2007-10-9 10:02:10 | 显示全部楼层 |阅读模式
Q1:ps aux | head -1 ; ps aux | grep 'crond'  怎样可以合并为一个命令?(一个输入,两个输出)


Q2:ps aux | egrep 'XX' (grep file来源于ps aux ,如果xx也要从别的命令获取怎么做?)
例如:xx是进程号,来自fuser xx;(一个输出,两个输入参数)


Q3.关于kill,kill一般是这样 kill -signal 【xx】关键是这个xx,按道理来说是pid号码对吧,但是如果%jobs后台有进程的话,也是有个序号的,现在有2个序号1,系统怎么知道杀死的是哪个?
 楼主| 发表于 2007-10-9 14:01:09 | 显示全部楼层
崩溃了    有人来回答一下问题好吧··
回复 支持 反对

使用道具 举报

发表于 2007-10-9 14:01:54 | 显示全部楼层
A1: 感觉 ps aux | head -1 ; ps aux | grep 'crond' 这种写法挺好的啊, 想不出来写成一条命令有什么意义。 当然如果管道前的部分运行很耗时间或者资源的话, 可以将其结果保存到一个变量中, 管道后的两个命令直接操作该变量即可。 如:
$ result=$(ps aux); echo "$result" | head -1; echo "$result" | grep 'crond'

A2: ps aux | grep $(fuser xx) 即可

A3: 假设pid为22, 则 kill -signal 22 杀掉前台进程, kill -signal %22 杀掉后台进程, 写法还是不一样的吧。 后台进程需要有一个"%"符号。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-9 15:46:44 | 显示全部楼层
呵呵   了解了!  谢谢!^_^
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表