首页 > 系统相关 >1.脚本高级命令,进程优先级命令,进程管理工具,任务相关命令

1.脚本高级命令,进程优先级命令,进程管理工具,任务相关命令

时间:2023-05-21 18:36:14浏览次数:42  
标签:显示 管理工具 指定 命令 进程 root CPU

一.总结脚本高级命令trap, install, mktemp, expect, 进程优先级命令:nice, renice, 进程管理工具: ps, pstree, prtstat, pgrep, pidof, uptime,mpstat,top,htop, free, pmap, vmstat, iostat, iotop, iftop, nload, nethogs, iptraf-ng, dstat, glances, cockpit, kill, job, 任务相关的命令: at, crontab, 命令,选项,示例。

1.trap 命令可以捕捉信号,修改信号原来的功能实现自定义功能

运行格式

trap命令的参数分为两部分,前一部分是接收到指定信号时将要采取的行动,后一部分是要处理的信号名。

trap command signal

Trap `触发指令`信号

#忽略信号的操作

Trap `` 信号

#恢复信号的操作

Trap `-` 信号

#列出自定义信号操作

Trap -p

#当脚本退出时,执行finish函数

2.Install 安装复制文件

install 功能相当于cp,chmod,chown,chgrp,mkdir 等相关工具的集合。

Install [OPTION] [-T] SOURCE DEST 单个文件

Install [OPTION] SOURCE... DIRECORY

Install [OPTION] -t DIRECORY SOURCE

Install [OPTION] -d DIRECORY... #创建空目录

root@Centos7 ~]# install -m 700 mo -g zhi srcfile desfile

[root@Centos7 ~]# install -m 770 -d /testdir/installdir

install -m 600 -o mo -g bin anacnda-ks.cfg /nmt/a.cfg

install -m 600 -o mo -g bin anaconda-ks.cfg /mnt/a.cfg

3.mktemp 创建临时文件

mktemp命令用户创建并显示临时文件,可避免冲突。

语法:

mktemp [-qu][文件名参数]

参数:

-q  执行时若发生错误,不会显示任何信息。

-u  暂存文件会在mktemp结束前先行删除。

-d 创建临时目录

-p 指明临时文件存放的目录

[文件名参数]  文件名参数必须是以"自订名称.XXXXXX"的格式。

[root@Centos7 ~]# mktemp

/tmp/tmp.ldCJ7rSQTj

[root@Centos7 ~]# mktemp /temp/testXXX

4.expect 交互式转化批处理工具

expect是建立在tcl基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信. 其交互流程是:

spawn启动指定进程 -> expect获取指定关键字 -> send想指定进程发送指定指令 -> 执行完成, 退出.

由于expect是基于tcl的, 所以需要确保系统中安装了tcl:

expect的常用命令

命 令 说 明

spawn 启动新的交互进程, 后面跟命令或者指定程序

expect 从进程中接收信息, 如果匹配成功, 就执行expect后的动作

send 向进程发送字符串

send exp_send 用于发送指定的字符串信息

exp_continue 在expect中多次匹配就需要用到

send_user 用来打印输出 相当于shell中的echo

interact 允许用户交互

exit 退出expect脚本

eof expect 执行结束, 退出

set 定义变量

puts 输出变量

set timeout 设置超时时间

二.进程优先级命令

1.nlce命令以更改过的优先序来执行程序,如果未指定程序,则会印出目前的排程优先序,内定的 adjustment 为 10,范围为 -20(最高优先序)到19(最低优先序)

语法

nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]

参数说明:

-n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加 adjustment

--help 显示帮助信息

root@Centos7 ~]# vim & //后台运行

[1] 3058

[root@Centos7 ~]# nice vim & //设置默认优先级

[2] 3059

[1]+ 已停止 vim

[root@Centos7 ~]# nice -n 19 vim & //设置优先级为19

[3] 3068

  1. + 已停止 nice vim

显示进程

2.renice命令

Linux 命令大全 Linux 命令大全

Linux renice命令用于重新指定一个或多个行程(Process)的优先序(一个或多个将根据参数而定)。

注意:每一个行程(Process)都有一个唯一的(unique)id。

语法

renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

参数说明:

-p pid 重新指定行程的 id 为 pid 的行程的优先序

-g pgrp 重新指定行程群组(process group)的 id 为 pgrp 的行程 (一个或多个) 的优先序

-u user 重新指定行程拥有者为 user 的行程的优先序

实例

将行程 id 为 987 及 32 的行程与行程拥有者为 daemon 及 root 的优先序号码加 1

renice +1 987 -u daemon root -p 32

  1. 进程管理工具

1.ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

语法 ps [options] [--help]

参数:

ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

-A 列出所有的进程

-w 显示加宽可以显示较多的资讯

-au 显示较详细的资讯

-aux 显示所有包含其他使用者的进程

au(x) 输出格式 :

查看进程详细信息:

查看进程的父子关系

按CPU利用率倒序排序

2.Pstree可以显示进程的父子关系,以树状结构显示

格式

Pstree [option] [PID] [user]

选项

-p 显示PID

-T 不显示线程thread,默认显示线程

-u 显示用户切换

-H 高亮显示指定进程及其前辈进程

pstree 1

Pstree mo

pstree -T

3.prtstat 查看进程信息

可以显示进程信息。来自于psmic包

格式

Prtstat [options] PID ...

选项

-r raw格式显示

prtstat -r 1856

  1. pgrep根据用户给出的信息在当前运行进程中查找并列出符合条件的进程

选项

-o:仅显示找到的最小(起始)进程号;

-n:仅显示找到的最大(结束)进程号;

-l:显示进程名称;

-P:指定父进程号;

-g:指定进程组;

-t:指定开启进程的终端;

-u:指定进程的有效用户ID。

-a: 显示完整格式的进程名

  1. pidof 查找正在运行进程的进程号

选项

-s:仅返回一个进程号;

-c:仅显示具有相同“root”目录的进程;

-x:显示由脚本开启的进程;

-o:指定不显示的进程ID。

  1. uptime

/proc/uptime 包括两个值,单位s

系统启动时长

空闲进程的总时长(按总的CPU合数计算)

当前时间

系统已启动时间

当前在线用户

系统平均负载(1,5,15分钟的平均负载,一般不会超过1,超过5时建议报警)

系统平均负载:指在特定时间间隔内运行队列中的平均进程数,通常每个CPU内核的当前活动进程数不大于3,那么系统的性能良好。如果每个CPU内核的任务数大于5,那么此主机的性能有严重问题。

  1. mpstat 显示CPU相关统计

  1. top和htop 查看进程实时状态

top 提供动态的实时进程状态

有许多内置命令

帮助:h 或 ?,按q或esc退出帮助

排序:p 以占据的cpu百分比,%cpu

M 占据内存百分比,%MEN

T:累积占据CPU时长,TIME

首部信息显示:

uptime信息:l

tasks及cpu信息:t

cpu分别显示:1

memory内存信息:m

退出命令:q

修改刷新时间间隔:s

终止指定进程:k

保存文件:w

top命令栏位信息简介

us: 用户空间

Sy:内核空间

ni:调整nice时间

wa:等待IO时间

hi:硬中断

si:软中断

st:虚拟机偷走的时间

top选项

-d :指定刷新时间间隔

-b:全部显示所有进程

-n:刷新多少次后退出

-H:线程模式

htop命令是增强版的top命令,来自于epel源,比top功能更强

选项

-d:指定延时时间

-u:username:仅显示指定用户的进程

-s:以指定字段进行排序

子命令

s:跟踪选定进程的系统调用。

l:显示选定进程打开的文件。

a:将选定的进程绑定至某指定的cpu核心

t:显示进程数。

  1. free内存空间

选项

-b:以字节为单位

-m:以MB为单位

-g:以GB为单位

-h:以人类易读格式显示

-o:不显示-/+buffers/cache行

-t:显示RAM+swap的总和

-s: n刷新间隔时间为n

-c: n 刷新n次后退出。

  1. Pmap 进程对应的内存映射

格式pmap [option] PID [...]

选项 -x 显示详细格式信息

  1. vmstat 虚拟内存信息

显示项说明

Procs:

r:可运行进程的个数,和核心数有关

b:处于不可中断睡眠态的进程个数

memory:

Swpd:交换内存的使用量

free:空闲物理内存 总量

buffer:用于buffer的内存总量

cache:用于cache的内存总量

swap:

si:从磁盘交换至内存的数据速率(kb/s)

so:从内存交换至磁盘的数据速率(kb/s)

io:

bi:从块设备读入数据到系统的速率(kb/s)

bo:保存数据至块设备的速率。

system:

in:中断速率,包括时钟

cs:进程切换速率

cpu:

us:用户CPU时间

sy:系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。

id:空闲 CPU时间

wa:Wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。

st:被虚拟机所盗用的 CPU 百分比。

  1. iostat 统计CPU和设备IO信息

Iostat可以提供更丰富的IO性能状态数据。

选项:

-c :只显示CPU行

-d :显示设备(磁盘)使用状态

-k :以千字节为单位显示输出

-t :在输出中包括时间戳

-x :在输出中包括扩展的磁盘指标。

  1. iotop 磁盘监视

Iotop命令是一个用来监视磁盘I/O使用状况的top类工具iotop具有与top类似的界面。

Iotop输出

第一行:Read和Write速率总计。

第二行:实际的Read和Write速率总计。

第三行:线程ID,优先级,用户,磁盘读速率,磁盘写速率,swap交换百分比,IO等待所占百分比。

Iotop常用参数:

交互按键:

  1. iftop显示网络使用情况。

Iftop -ni eth0

  1. nload 查看网络实时吞吐量

  1. nethogs 查看进程网络带宽的使用情况

用来按进程或程序实时统计网络带宽使用率。

  1. iptraf-ng 网络监视工具

  1. dstat 系统资源统计

安装dstat包即可,可以用于替代vmstat,iostat功能。

选项

  1. glances综合监控工具

此工具可以通过EPEL源安装

选项

20.losf 查看进程打开文件

查看当前系统文件的工具

选项

列出当前所有打开的文件

查看当前哪个进程在使用此文件

查看由登录用户启动的而非系统启动的进程

[root@Centos7 ~]# lsof /dev/pst/1

[root@Centos7 ~]# lsof tty

指定进程号,可以查看改进程号打开的文件

查看指定的程序打开的文件

查看指定用户打开的文件

使用lsof恢复正在使用中文件误删除的文件

  1. cockpit 是Centos8支持的新特新,是有cockpit提供Ubuntu和Centos7也支持此工具,是一个基于Web界面的应用,提供对系统图形化管理。

在浏览器输入地址,打开页面使用系统用户名和密码进行登录

  1. Kill 可以用来向进程发送控制信号,以实现对进程管理,每个信号对应一个数字。

显示当前系统可用信号

kill -l

trap -l

常用信号

  1. linux的作业控制

前台作业:通过终端启动,且启动后一直占据终端。

后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端)

让作业运行于后台:

运行中的作业:Ctrl+z

尚未启动的作业:COMMAND&

后台作业虽然被送往后台运行,但其依赖与终端相关;退出终端,将关闭作业。

nohup COMMAND &>dev/null &

Jobs 查看当前终端所有作业

并行运行

利用后台执行,实现并行功能,即同时运行多个进程,提高效率。

三.计划任务

通过计划任务,可以让系统自动的按时间或周期性的执行任务

  1. at 一次性任务

选项

  1. cron 周期性任务计划

分钟,小时,日,月,星期

Crontab -l 查看当前用户的任务

Crontab -e 对当前用户的任务进行编辑修改或增加

11月每天6-12点之间

标签:显示,管理工具,指定,命令,进程,root,CPU
From: https://www.cnblogs.com/m490545607/p/17418950.html

相关文章

  • 3.进程相关
    解析进程和线程的区别进程进程是一个具有独立功能的程序在一个数据集上的一次动态执行过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。进程一般由程序,数据集合和进程控制块三部分组成。进程具有的特性:动态性:......
  • docker常用命令使用
    commit(作为一个新的镜像方便使用,可使用dockerimages进行查看新的镜像)dockercommit-a="authorinfo"-m="psinfo"mirroridnew-mirror-name 容器数据卷挂在,将容器内的目录挂在到本机linux上端口暴露需修改成自己需要的dockerrun-it-vlinuxfiledirectory/con......
  • 13-1 udp和internet层协议 13-2IP地址组成和分类13-4 网卡配置文件和命令 13-5 网络理
    一、查看当前机器广播的地址和mac[root@centos8~]#arp-n查看当前机器的广播地址[root@centos8~]#tcpdump-ieth0arp-nn抓包[root@centos8~]#ipaa10.0.0.100/24deveth0添加多网卡命令[root@centos8~]#arping10.0.0.100查看IP有没有被占用二、查看相关包有......
  • debian原装vi命令使用方法
    Debian中的vi是一个非常流行的文本编辑器,它可以用来编辑Unix/Linux系统中的文本文件。下面是一些常用的vi命令:vi命令:进入vi编辑模式,按下i键开始输入,按下Esc键退出编辑模式。:set命令:设置编辑器的选项,例如设置插入模式为i。:i命令:开始输入当前光标所在的行。:r......
  • Python多进程编程-进程间共享数据(Value、Array、Manager)
    转载:(14条消息)Python多进程编程-进程间共享数据(Value、Array、Manager)_managervalue_Loadinggggg的博客-CSDN博客Value、Array是通过共享内存的方式共享数据Manager是通过共享进程的方式共享数据。Value\Array实例代码:importmultiprocessing#Value/Arraydeffunc1(a,arr......
  • Python并发编程:为什么传入进程池的目标函数不执行,也没有报错?
    转载:Python并发编程:为什么传入进程池的目标函数不执行,也没有报错?-知乎(zhihu.com)python初学者使用进程池时,很容易掉坑里! python并发编程中,这个问题是新手经常容易犯的错,十个人,大概有九个都会掉入其中。借此机会,对该问题的前因后果做个记录,分享于此!一、错误代码复现我......
  • python 进程池multiprocessing.Pool
    转载:python进程池multiprocessing.Pool(44)-知乎(zhihu.com)python进程池Pool和前面讲解的python线程池类似,虽然使用多进程能提高效率,但是进程的创建会消耗大量的计算机资源(进程Process的创建远远大于线程Thread创建占用的资源),线程是计算机最小的运行单位,连线程都需要使用线程......
  • ES常用命令
    一、Maven依赖在使用Java连接Elasticsearch前,需要在Maven中引入相关的依赖包。在pom.xml文件中添加以下依赖:<!--elasticsearch客户端--><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><......
  • python基础-进程池、submit同异步调用、shutdown参数、ProcessPoolExecutor进程池、进
    转载:(14条消息)python基础-进程池、submit同异步调用、shutdown参数、ProcessPoolExecutor进程池、进程池ftp_pythonsubmit_易辰_的博客-CSDN博客引入进程池在学习线程池之前,我们先看一个例子frommultiprocessingimportProcessimporttimedeftask(name):print(......
  • Python3.8多进程之共享内存
    转载:Python3.8多进程之共享内存-知乎(zhihu.com)最近发了个宏愿想写一个做企业金融研究的Python框架。拖出Python一看已经更新到了3.8,于是就发现了Python3.8里新出现的模块:multiprocessing.shared_memory。随手写了个测试。生成一个240MB大小的pandas.DataFrame,然后转换成nu......