# pip3 install paramiko
(补充:这里以安装 paramiko 模块为例)
# pip3 install paramiko
(补充:这里以安装 paramiko 模块为例)
$ pydoc modules
# python3
>>> help('modules')
>>> quit()
作者:朱明宇
名称:显示使用 swap 的进程
作用:显示使用 swap 的进程
1. 给此脚本添加执行权限
2. 执行此脚本
3. 执行结果会输出到脚本同目录下的 swapcheck.txt 目录中
#!/bin/bash
echo > swapcheck.txt
for pid in `ls /proc/ | egrep ^[0-9] | awk '$0 > 100'`
do
ls /proc/$pid &> /dev/null
if [ $? -ne 0 ];then
continue
fi
size=`awk '/Swap:/{a=a+$2}END{print a}' /proc/$pid/smaps`
name=`ps -aux | egrep $pid`
if [ -z $size ];then
continue
fi
if [ $size -eq 0 ];then
continue
fi
echo "$[size]k $pid \"$name\"" >> swapcheck.txt
echo >> swapcheck.txt
done
shell-if表达式(-f,-d,-s,-r,-w,-x,-eq,-ne,-ge,-gt,-le,-lt )
文件表达式
if [ -f file ] 如果文件存在
if [ -d … ] 如果目录存在
if [ -s file ] 如果文件存在且非空
if [ -r file ] 如果文件存在且可读
if [ -w file ] 如果文件存在且可写
if [ -x file ] 如果文件存在且可执行
整数变量表达式
if [ int1 -eq int2 ] 如果int1等于int2
if [ int1 -ne int2 ] 如果不等于
if [ int1 -ge int2 ] 如果>=
if [ int1 -gt int2 ] 如果>
if [ int1 -le int2 ] 如果<=
if [ int1 -lt int2 ] 如果<
字符串变量表达式
If [ $a = $b ] 如果string1等于string2
字符串允许使用赋值号做等号
if [ $string1 != $string2 ] 如果string1不等于string2
if [ -n $string ] 如果string 非空(非0),返回0(true)
if [ -z $string ] 如果string 为空
if [ $sting ] 如果string 非空,返回0 (和-n类似)
shell中条件判断if中的-z到-d的意思
[ -a FILE ] 如果 FILE 存在则为真。
[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。
[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。
[ -d FILE ] 如果 FILE 存在且是一个目录则为真。
[ -e FILE ] 如果 FILE 存在则为真。
[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。
[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。
[ -h FILE ] 如果 FILE 存在且是一个符号连接则为真。
[ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。 [
-p FILE ] 如果 FILE 存在且是一个名字管道(F如果O)则为真。
[ -r FILE ] 如果 FILE 存在且是可读的则为真。
[ -s FILE ] 如果 FILE 存在且大小不为0则为真。
[ -t FD ] 如果文件描述符 FD 打开且指向一个终端则为真。
[ -u FILE ] 如果 FILE 存在且设置了SUID (set user ID)则为真。
[ -w FILE ] 如果 FILE 如果 FILE 存在且是可写的则为真。
[ -x FILE ] 如果 FILE 存在且是可执行的则为真。
[ -O FILE ] 如果 FILE 存在且属有效用户ID则为真。
[ -G FILE ] 如果 FILE 存在且属有效用户组则为真。 [ -L FILE ] 如果 FILE 存在且是一个符号连接则为真。
[ -N FILE ] 如果 FILE 存在 and has been mod如果ied since it was last read则为真。
[ -S FILE ] 如果 FILE 存在且是一个套接字则为真。
[ FILE1 -nt FILE2 ] 如果 FILE1 has been changed more recently than FILE2,or 如果 FILE1 exists and FILE2 does not则为真。
[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在则为真。
[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。
[ -o OPTIONNAME ] 如果 shell选项 “OPTIONNAME” 开启则为真。
[ -z STRING ] “STRING” 的长度为零则为真。
————————————————
版权声明:本文为CSDN博主「打卤」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liyyzz33/java/article/details/84836255
注明:所有转载内容皆直接从被转载文章网页的标题和内容的文本中复制而来
站主补充:
补充一:Shell if 单判断的格式
if [ <judgment condition> ];then
<step to perform>
fi
补充二:Shell if 双判断的格式
if [ <judgment condition> ];then
<step to perform>
else
<step to perform>
fi
补充三:Shell if 多判断的格式
if [ <judgment condition> ];then
<step to perform>
elif
<step to perform>
else
<step to perform>
fi
补充四:Shell if 多条件判断的格式
4.1 与条件的判断
if [ <judgment condition> -a <judgment condition> ];then
<step to perform>
fi
或者:
if [ <judgment condition> ] && [ <judgment condition> ];then
<step to perform>
fi
4.2 或条件的判断
if [ <judgment condition> -o <judgment condition> ];then
<step to perform>
fi
或者:
if [ <judgment condition> ] || [ <judgment condition> ];then
<step to perform>
fi
补充五:Shell if 对条件进行转换后再判断
将变量转换成大写以后再进行判断
if [ `echo $<variable> | tr 'a-z' 'A-Z'` = "<character string>" ];then
<step to perform>
fi
# cat /sys/block/<partition name>/queue/nr_requests
128
# echo 512 > /sys/block/<partition name>/queue/nr_requests
(补充:这里以降硬盘的吞吐量提高到 512 为例)
1) CFQ:完全公平排队 I/O 调度程序,是通用型服务器、多媒体应用和桌面系统的最佳选择
2) NOOP:电梯式调度程序,倾向于牺牲读操作而提高写操作
3) Deadline:截至时间调度程序,防止写操作因为不能进行读操作而被牺牲的情况
4) AS:预料 I/O 调度程序,适用于写操作量需求较大的服务器,不适用于数据库服务器
# dmesg | grep -i scheduler
# cat /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq]
(补充:这里中括号 “[]” 以内的调度算法名就是当前使用的调度算法)
# echo noop > /sys/block/<partition name>/queue/scheduler
(注意:此种修改方式会在重启后失效)
# grubby --update-kernel=ALL --args="elevator=<scheduling algorithm name>"
(注意:此种修改方式需要重启才会生效)