shell死循环脚本
这个在句法上有问题,在“[]”要与判断条件之间要有空格。
另外,就是你这个循环语句是一个死循环,最好是加一个判断语句,好跳出循环。
❷ linux kill不能杀死shell脚本死循环
使用ps aux|grep ”脚本名“这种方式查找时,查看grep ”脚本“以外行的PID。
ps -ef 能比较直观显示进程PID、PPID(当前PID的父进程),程序名(最后一列)。
注意:你杀的应该是运行脚本时命令对应的PID,不是脚本里启动的额外程序的PID,否则可能产生僵死进程。
❸ 写个shell脚本的死循环造成cpu占用率过高怎么写
使用死循环消耗CPU资源。
本脚本,如果是有多颗CPU,可以选择消耗多少颗CPU的资源;使用方法很简单,参数8表示消耗8颗CPU的资源,运行后,会有一堆 kill 命令,运行这些命令即可kill掉死循环进程。
#! /bin/bash
# filename killcpu.sh
endless_loop()
{
echo -ne "i=0;
while true
do
i=i+100;
i=100
done" | /bin/bash &
}
if [ $# != 1 ] ; then
echo "USAGE: $0 <CPUs>"
exit 1;
fi
for i in `seq $1`
do
endless_loop
pid_array[$i]=$! ;
done
for i in "${pid_array[@]}"; do
echo 'kill ' $i ';';
done
运行命令:./killcpu.sh 8
输出:kill 20926 ;
kill 20928 ;
kill 20930 ;
kill 20932 ;
kill 20934 ;
kill 20936 ;
kill 20938 ;
kill 20940 ;
用top看资源消耗。
❹ linux shell脚本读取用户输入的参数
$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1是传递给该shell脚本的第一个参数
$2是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
例如:
#!/bin/sh
echo "arg_num: $#"
echo "shell_name: $0"
echo "first_arg : $1"
echo "second_arg : $2"
echo "args : $@"
