守护线程:
#bin/bash
cd 程序所在目录
./需要启动的程序名 &
while true
do
number=$(ps -ef | grep 程序名| grep -v grep| wc -l)
if [ $number -ge 1 ] ; then
sleep 10
else
cd 程序所在目录
./需要启动的程序名 &
fi
done
exit
shell注意点:
在shell脚本中赋值时 需要注意 有$符号
关于awk:
awk 'NR>1{for(i=1;length($i)!=36;i++)printf$i"\ ";printf" ";print$NF}'
本例子:循环输出是输出所有直到有一项的长度为36停止(空格前会有‘\’输出) 然后输出空格 之后$NF是输出最后一项 每一行都会进行 会输出一列
awk 'NR>1{print$NF}'
本例子:输出最后一列
awk -F ':' '/123/{print$1}'
本例子:以‘:’分割,并过滤留下含有‘123’的一行或几行,输出第一列
awk '/inet /{print $2}'
ifconfig eth0| awk '/inet /{print $2}'
本例子:过滤行中有inet的行 并输出以空格为分割的第二项 第二行是过滤ip地址
关于nmcli:
过滤网卡信息 ip 掩码 网关地址 DNS
nmcli device show | grep -A16 'ens33' | grep -E 'DEVICE|IP4.ADDRESS|IP4.GATEWAY|IP4.DNS'|awk '{print$2}'