Linux 工作管理信号

进程

  • gawk实现和awk相同的功能,文本字段处理
  • alias awk='gawk'别名,但每个用户都要使用这个代码
  • l开头链接,链接文件
  • 索引节点记录信息,地址指针指向文件所保存的数据块,对数据块读写;
s19@GOJ:~$ which awk
/usr/bin/awk
s19@GOJ:~$ ls -l /usr/bin/awk
lrwxrwxrwx 1 root root 21 1221  2018 /usr/bin/awk -> /etc/alternatives/awk
s19@GOJ:~$ ls -l /etc/alternatives/awk
lrwxrwxrwx 1 root root 13 1221  2018 /etc/alternatives/awk -> /usr/bin/gawk
  • ln创建硬链接

  • -f强制创建链接文件,不管原来有没有

  • ln -f /tmp/chapter3 chapter3.hard文件内容一样

  • ln -s软链接

  • 软链接是文件路径信息,所以如果删除原文件,找不到文件。删除的时候Link count-1 索引节点如果>0则不释放

s19@GOJ:~$ echo world >> /tmp/chapter3
s19@GOJ:~$ cat /tmp/chapter3
  • ls -i列出索引节点号
  • 不能跨文件系统,不能对目录创建硬链接,so创建软链接
  • 硬链接的文件类型是普通文件,只有软链接是链接文件
  • 软链接单独为文件分配一个索引节点,硬盘上分配存储空间,存储它指向文件的文件名字,而硬链接不会。软链接两次硬盘读取。
[user@localhost Desktop]$ ls -i a.s
663653 a.s
[user@localhost Desktop]$ ls -i a
663647 a
[user@localhost Desktop]$ ls -i a.ha
663647 a.ha

s19@GOJ:~$ ln -s /tmp/chapter3 chapter3.soft
s19@GOJ:~$ ls -l chapter3.soft
lrwxrwxrwx 1 s193213 stu 13 525 16:12 chapter3.soft -> /tmp/chapter3

ps
  • ps表示查看所有终端执行进程 -l显示详细信息,-e显示所有信息
  • PID进程ID(唯一标识符)
  • TTY 该进程在哪个终端中运行
  • TIME 进程使用的CPU时间
  • S 表示进程状态是等待态,R是运行态
  • UID表示哪个用户创建的
  • FPID 副进程ID
  • PRI优先级
  • NI改变过优先级的进程的占用CPU的百分比
  • ADDR地址 SZ占用内存 WCHAN 等待

s19@GOJ:~$ ps
  PID TTY          TIME CMD
14292 pts/53   00:00:00 bash
14609 pts/53   00:00:00 ps

s19@GOJ:~$ ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1968 14292 14291  0  80   0 -  6958 wait   pts/53   00:00:00 bash
0 R  1968 14817 14292  0  80   0 -  8119 -      pts/53   00:00:00 ps
#nice 调整进程执行的优先级
s19@GOJ:~$ nice -n 10 ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1968 14292 14291  0  80   0 -  6958 wait   pts/53   00:00:00 bash
0 R  1968 14839 14292  0  90  10 -  8119 -      pts/53   00:00:00 ps
s19@GOJ:~$ nice -n -10 ps -l
nice: 无法设置优先级: 权限不够
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1968 14292 14291  0  80   0 -  6958 wait   pts/53   00:00:00 bash
0 R  1968 14879 14292  0  80   0 -  8119 -      pts/53   00:00:00 ps
  • 脚本文件
  • 二进制文件
  • ps -l进程的详细信息
  • ps -u和用户相关的进程
  • ps -e表示所有进程的信息
  • s19@GOJ:~$ ps -e |grep nginx|wc -l有多少进程为用户提供网页服务
  • pstree查看进程树,systemd是所有进程的根进程
  • top 查看系统健康状态 默认每3秒更新
  • 可以获得用户输入的进程交前台进程,只有一个/tmp/count前台进程,/tmp/count &后台进程 fg后台进程切换到前台 cirl+c中断

s19@GOJ:~$ /tmp/count >/dev/null &
[1] 21869
s19@GOJ:~$ jobs
[1]+  运行中               /tmp/count > /dev/null &
s19@GOJ:~$ ps
  PID TTY          TIME CMD
20652 pts/56   00:00:00 bash
21869 pts/56   00:00:00 count
21895 pts/56   00:00:00 ps
s19@GOJ:~$ jobs -l
[1]+ 21869 运行中               /tmp/count > /dev/null &

s19@GOJ:~$ /tmp/count >result &
[2] 22152
s19@GOJ:~$ ps
  PID TTY          TIME CMD
20652 pts/56   00:00:00 bash
21869 pts/56   00:00:00 count
22152 pts/56   00:00:00 count
22156 pts/56   00:00:00 ps
s19@GOJ:~$ jobs
[1]-  运行中               /tmp/count > /dev/null &
[2]+  运行中               /tmp/count > result &
s19@GOJ:~$ tail -f result

s19@GOJ:~$ jobs
[1]-  运行中               /tmp/count > /dev/null &
[3]+  已停止               /tmp/count > result

把进程放入后台/恢复

两种放入后台的方式

  1. 在命令后面& ,放入后台后仍然运行。
  2. cirl+z 放入后台以后暂停进程,后续可以继续。
  • 后台命令可以fg %工作号恢复到前台[注意工作号和PID的区别]
  • bg %工作号把命令放到后台,如果该命令和前台有交互,是不能回复到后台运行的。后面不加就是将后面带“+”的命令默认恢复。
  • jobs 查看后台工作状态
  • 左边第一列是工作号/任务号,“+”表示最近一个放入后台的工作,也是工作回复时,默认回复的工作;“-”表示倒数第二个放入后台的工作。
s19@GOJ:~$ jobs
[1]   运行中               /tmp/count > result &
[2]-  运行中               /tmp/count > result &
[3]+  已停止               top

s19@GOJ:~$ fg %2
/tmp/count > result
^C

  • daemons进程以d结尾,sshd为大家提供远程登录
  • -atd定时用户;
s19@GOJ:~$ date ; echo "hello" >result
2021年 06月 01日 星期二 16:22:58 CST

只有hello被重定向

异常终止

  • 终止前台:cirl+c;终止后台:使用kill命令或是使用fg转到前台,然后终止
  • 进程接受信号后的三种行为:(1)接受内核规定的默认动作;(2)忽略该信号;(3)截获该信号并且执行用户定义的动作。
  • 进程内部信号;外部信号
  • 默认15号信号——软信号;1——挂断;2——终止前台信号;3——退出;9——强制终止
  • kill也支持作业号kill -9 %1 %3可以终止作业号为1和3的进程
  • kill -1 22354关闭进程,重读配置文件后重启
  • kill -9 22368强制杀死进程
  • try自定义;不用默认
  • 父进程退出时给每个子进程发送kill -l;子进程默认收到后退出

s19@GOJ:~$ ps
  PID TTY          TIME CMD
20652 pts/56   00:00:00 bash
21869 pts/56   00:00:00 count
22338 pts/56   00:00:00 count
23220 pts/56   00:00:00 ps
s193213@GOJ:~$ kill 20652 21869
s19@GOJ:~$ jobs
[1]-  已终止               /tmp/count > /dev/null
[3]+  已停止               /tmp/count > result

s19@GOJ:~$ /tmp/neverdie &l
[6] 23436
l:未找到命令
s19@GOJ:~$ jobs -l
[3]+ 22338 停止                  /tmp/count > result
[4]  23417 运行中               /tmp/neverdie &
[5]  23430 运行中               /tmp/neverdie &
[6]- 23436 运行中               /tmp/neverdie &
s19@GOJ:~$ kill 23436
s19@GOJ:~$ I won't Die!!!


s19@GOJ:~$ jobs -l
[3]+ 22338 停止                  /tmp/count > result
[4]  23417 运行中               /tmp/neverdie &
[5]  23430 运行中               /tmp/neverdie &
[6]- 23436 运行中               /tmp/neverdie &
s19@GOJ:~$ kill 23436
s19@GOJ:~$ I won't Die!!!
^C
s19@GOJ:~$ kill -9 23430
s19@GOJ:~$ jobs
[3]+  已停止               /tmp/count > result
[4]   运行中               /tmp/neverdie &
[5]   已杀死               /tmp/neverdie
[6]-  运行中               /tmp/neverdie &

  • killall [o] [信号] 进程名全部终止或按照进程名杀死进程
  • nohup执行命令并且忽略挂断信号,意味着当退出系统或者通过kill发送1号(挂断)信号时不终止
  • at在什么时候输入命令,计划任务

s19@GOJ:~$ at 23:59
warning: commands will be executed using /bin/sh
at> backup
at> /tmp/count
at> <EOT>
job 5 at Tue Jun  1 23:59:00 2021
s19@GOJ:~$ at -l
5       Tue Jun  1 23:59:00 2021 a s193213

s19@GOJ:~$ at -c5

  • at -d 5删除计划任务
  • crontab

缓冲和缓存

  • 缓存是用来加速数据,从硬盘中读取的,缓冲是用来加速数据写入硬盘的。

系统定时任务
命令的顺序和并行执行

  1. 语法:命令1;命令2
  2. 用途:顺序执行命令1;命令2[串行]
  3. 如果命令后面加&,则使得同一命令行并行执行,以&结尾的命令会在后台执行
  4. 最后一个&和之前的&之间的所有命令使用1个进程(p242)
  5. 可以用()来分割命令组进程

s19@GOJ:~$ date;echo hello
2021年 06月 06日 星期日 15:53:11 CST
hello

s19@GOJ:~$ date& echo hello&uname;who
[1] 23972
[2] 23973
hello
2021年 06月 06日 星期日 15:51:22 CST
Linux
[1]-  已完成               date
[2]+  已完成               echo hello
s19  pts/6        2021-06-06 15:23 (10.173.80.210)
s19  pts/9        2021-06-06 15:50 (10.173.80.209)

s19@GOJ:~$ (date; echo hello);who
2021年 06月 06日 星期日 16:00:27 CST
hello
s19  pts/6        2021-06-06 15:23 (10.173.80.210)
s19  pts/9        2021-06-06 15:50 (10.173.80.209)


s19@GOJ:~$ uname -a
Linux GOJ 4.15.0-66-generic #75-Ubuntu SMP Tue Oct 1 05:24:09 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
s19@GOJ:~$ uname -r
4.15.0-66-generic
s19@GOJ:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:        18.04
Codename:       bionic

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值