Shell与机器……
ฅ'ω'ฅ♪

Shell与机器……

查看目前机器listen的全部端口

netstat -lnp
参数说明:
-t:表示列出TCP连接(也可以加上-u参数表示同时列出UDP网络连接)
-l:表示列出正在网络监听的服务
关键是下面两个参数:
-n:表示以端口号来显示
-p:表示列出进程PID

杀死80端口的全部进程

netstat -lnp|grep 80|grep -v grep |awk '{print $1}'|xargs kill -9

一次性杀掉相同名的全部进程

#杀掉所有含有关键字"LOCAL=NO"的进程
ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9
#使用awk
ps x|grep gas|grep -v grep |awk '{print $1}'|xargs kill -9
#管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。
#"ps -ef" 是linux里查看所有进程的命令。这时检索出的进程将作为下一条命令"grep #LOCAL=NO"的输入。
#"grep LOCAL=NO" 的输出结果是,所有含有关键字"LOCAL=NO"的进程。
#"grep -v grep" 是在列出的进程中去除含有关键字"grep"的进程。
#"cut -c 9-15" 是截取输入行的第9个字符到第15个字符,是进程号PID。
#"xargs kill -9" 中的 xargs 命令是用来把前面命令的输出结果(PID)
#作为"kill -9"命令的参数,并执行该命令。"kill -9"会强行杀掉指定进程。

显示历史执行的命令

$ history
 sed 's/haha/hello/g' test
 cat test
 cat test
 history
$ !1
sed 's/haha/hello/g' test
hgghhvg
hgvhjgh
hhhjh
jjjhvvg
hhhhjh
hello
hello
hello
hghh
hvhjjjj
$

获得后台进程返回值

用“&”把进程放入后台以后,

如果需要了解进程的执行情况,可以使用wait函数。

默认情况下wait会等待任意子进程结束但是不会返回子进程的返回值。

而以子进程的pid作为参数调用wait时,

wait便能够返回该子进程的退出状态了。

#!/bin/bash
dir=`dirname $0`
$dir/test01.sh &
$dir/test02.sh &
echo '' > $dir/tmp.log
for pid in $(jobs -p)
do
wait $pid
status=$?
if [ $status != 0 ];then
echo "$pid status is $status have some error!" >> $dir/tmp.log
else 
echo "$pid status is $status success!" >> $dir/tmp.log
fi
done

2>&1的意思就是将标准错误也输出到标准输出当中.

CANCEL

-评论-

Here you can post what you want to say, if you have more information please contact me by the following way.

-昵称-
-QQ-
-邮箱-
想说些什么?
-SUBMIT-

-电联 Phone-

+86 18520664652

-邮箱 Email-

boogieLing_o@163.com

boogieLing_o@qq.com

Your name. OS platform Browser model

What do you want to say?

created time

游說萬乘苦不早,著鞭跨馬涉遠道。

阿凌的貓爬架

幸會,

激活Ubuntu

转到“设置”以激活Ubuntu。

R0's board.