mandb
man ps
1:##什么是进程
进程就是系统未完成并且正在进行的工作
##2.查看进程##
1):图形查看方式 gnome-system-monitor
2)进程查看命令
ps -A ##所有进程
-a ##在环境中的所有进程,不包含环境信息
进程树可以看到sshd进程下 有一个bash进程 有运行了pstree
-u ##显示进程用户信息
a ##显示当前环境中运行的进程,包含环境信息
x ##列出系统中所有运行包含tty输出设备
f ##显示进程的父子关系
e ## 显示进程的详细信息(系统资源的调用)
##ps常用组合
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示进程父子关系
ps ax ##显示当前用户系统中的所有进程
pstree ##显示当前系统的进程树
显示进程指定信息
ps -o xxx ##显示进程的指定信息
comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%men ##进程内存使用率
ps -o pid 进程id
ps -o nice 进程优先级
进程排序
ps ax --sort=
+%cpu|-%cpu
+%mem|-%mem
##
t
显 示state的信息
S ##进制状态
l ##内存中有锁定信息
N ##优先级低
< ##优先级高
+ ##前台运行
s ##顶级进程
3:##进程优先级
1:进程优先级范围:-20~19
2:优先级查看 ps ax -o pid,nice,comm
3:指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n -5 vim & ##开启vim并且指定程序优先级为-5
4:改变进程优先级
renice -n 优先级数字 进程pid
renice -n -5 1806 ##改变1806进程优先级为-5
[root@desktop0~]# ps ax -o pid,nice,comm
PID NI COMMNAD
614 0 Xorg
4.环境中进程的前后台调用
jobs 查看被打入环境后台的进程
ctrl +z 把占用终端的进程打入后台
fg jobsum 把后台进程调回前台
bg jobsum 把后台暂停的进程运行
comm & 让命令直接在后台运行
fg 之后进入一个页面ctrl z退出
comm & 让命令直接在后台运行 comm只是一个名称 &:后台运行符
shell
参考:inux下的变量及shell脚本中的变量传参以及函数调用
bash变量
程序自己在cpu运行。指令不断地从内存加载数据并对数据完成加功。
引用变量有时候不可以省略花括号
本地变量
unset因此此处没有引用变量 所以不能加$符号!!!!
只在这个shell有效
环境变量
declare导出命令或者export 声明变量都不要加 $ 符号
只对当前shell及其子进程有效
shell编程
过程式语言就是根据执行顺序结合算法组织数据实现较大的编程功能。
对象式编程:需要对象
类:对象的抽象,给类填充一些数据就是一个对象
method就是能够对对象额外施加的操作
对象式编程语言就是首先需要写很多类出来,method就是能够对对象额外施加的操作。method是顺序、选择、循环执行
python c++支持过程式编程和面向对象式编程
shell固定的shebang格式就是#!
/bin/bash就是解释器路径
不能执行
因为是命令 不是绝对路径 到$PATH下找
$PATH路径下没有/root/
所以无法直接在该路径下找到
因为程序=指令+数据 指令是在$PATH下找
当作参数才可以在当前路径下找
./myfirst.sh
指明在当前路径下执行而不是到$PATH路径下找
之所以执行是因为./可以根据文件中第一行shebang格式读取第一行 根据第一行解释文本 也就是先执行第一句#!/bin/bash解释运行
并且把这个指令当作后续数据的指令
-d目录 创建临时目录
不是巨大错误就还可以重复执行
这样就不会报错
也可以自己指定解释器 把文本当作参数
这个时候文本不需要执行权限
脚本中的空白行都会被直接忽略哦、、
要是想要有空白行 直接echo即可
其实非交互和交互式的都会读取profile和bashrc没多大区别
登录系统读取的顺序就是第一条
执行shell读取的顺序就是第二条短的
配置文件对本次登录无效,,对下次有效,可以强行读取
命令行只对当前shell有效
比如编辑alias 在.bashrc 这个文件是用来编辑别名的
ctrl+o保存 然后 ctrlx退出
仅仅对该用户生效,下面开启多个shell也有效。只要不切换用户
在profile下定义运行的命令和脚本
要想让所有的用户登录都可以看到欢迎提示信息页
就在全局写,只让当前用户 就是个人本地写
自己建立.sh更为方便
不用给执行权限
定义java环境变量
必须是新登录ssh的shell使用export才可以看到
之前登录过的不能看到哦 比如还有其他终端之前也连接的本主机
永久有效,但不会立即有效
下文参考shell基本命令以及正则表达式
shell中运算