linux 进程和程序的区别,linux中的进程和服务的示例

进程:已启动可执行程序的运行实例

PID:每一个进程都存在唯一的ID

PPID:父进程的ID

任何一个进程都可以创建一个子进程

在redhat7以上,所有进程的父进程systemd,在redhat5,6中,所有进程的父进程init

显示当前进程 ps

bash 代表当前命令行进程

-aux 列出所有进程

-ef 列出所有进程

-I 显示和当前用户有关的进程

-u 查看某一用户的进程状态

top 查看实时进程

示例:

9e813db1f8564e05abed039db09ebf2b.png

65fb6e44465e379769c9eb1a9bfb43ee.png

2da76d9eeae392b1ba64771b88620879.png

进程中的状态

R 该进程正在运行或者等待运行

S 正在休眠但可以被唤醒

D 正在休眠,且不能被唤醒,该进程被中断,可能会损坏设备

K 正在休眠,而且不可以被唤醒,该进程可以被中断

T 进程被停止,但是可以通过其他进程来进行恢复

T 正在被调试的进程

Z子进程退出时向父进程发出信号,除PID外,所有资源被释放

X 父进程获取子进程的结构,子进程可以完全释放,该状态进程时看不到的

b2d76952cf21bb616f69773295b5c277.png

5de1076ebab603df87586dae569cecbd.png

%CPU代表占用率

%MEN 占用记忆体使用率

VSZ 占用虚拟记忆体大小

RSS 占用记忆体大小

TTY 中断次要装置号码

STAT 该进程状态

START 该进程开始时间

TIME 该进程执行时间

COMMAND 所执行的命令

进程优先级

< 高优先级

N 低优先级

s 包含子进程

+ 位于后台进程组

700249c089e477f531256b4fc0ea71f6.png

交互进程:由一个shell启动的进程,可以在前台运行,也可以在后台运行

批处理进程:是一个批处理进程,和终端没有联系

监控进程(守护进程):Linux启动时,启动的进程,并在后台运行

作业:一个正在执行的过程,一个作业可以包括多个进程

作业控制:控制正在运行的进程的行为& 可以让进程在后台执行

jobs 可以查看后台正运行的进程

示例1:

a540d8af30a4bd4de6a60b7df354b8a4.png

示例2:

321ae90c33c6fa85ff50f97fbb2ba861.png

终端的进程在后台是查看不到的

示例3:加上& 后台运行此进程

fdc7fe167271e858fc55aa00794451e8.png

示例4:

-l 显示后台所有的进程,并显示PID

-r 显示后台正运行的进程

-s 显示后台暂停的进程

8feac69e00debf87b3661197a411ce30.png

fg将后台命令调到前台执行:fg 作业号 (将其调回前台后不可调回去,但可以挂起 ctrl+z)

83e48f9a8dc63ddbfcaf185701a1d7d8.png

bg将后台暂替的命令继续执行: bg 作业号

7773d94b68ffa7ff5df4819460a43164.png

ps -j 显示当前作业的信息

20b24dd906effac3814269abbb69bcc8.png

linux中断进程

信号:传递给linux进程的操作

kill -l 显示可以传递给linux进程的所有信号

常用:

kill -9 PID 杀死一个进程 (强制)

kill -15 PID 正常的方式终止一个进程

kill -2 可以ctrl+c的操作是一样的

72ce22c6e3f4c1f634a63620faeac849.png

控制服务和守护进程

systemd是所有进程的父进程

systemdctrl:用于管理各种类型的systemd对象,这些对象称为单元。常用的单元:.service .socket .path

ssh是一个协议,sshd是一个进程

loaded:单元配置文件以处理

active(running):正在运行

active(wating)运行中,但正在等待时间

active(exited)配置成功

inactive:不运行

enable:开机自启 disable(不允许开机自启)

static:无法启动,但可以通过一个已启动的单元来启动

b2807a573ff80d8892f73f3b80d70c48.png

systemctl

start 系统中启动一项服务

stop 等待程序处理完毕后再stop

restart 直接关闭程序在自启

reload 重新加载配置文件,暂停进程,等配置文件加载完毕后继续执行,PID不变

enable 开机自启

disable 禁止开机自启

status查看某一单元的状态

linux中的日志

日志:用于系统审核和故障排除

日志文件都保存在/var/log目录中

在redhat7中,系统日志消息都是由两个服务负责处理 systemd-journald和rsyslogd

/var/log/messages 大多数系统日志消息

/var/log/secure 安全和身份验证的消息和错误日志

/var/log/maillog 与邮件服务器相关的日志

/var/log/cron 与顶起执行任务相关的日志

/var/log/boot/log 记录和系统启动相关的日志

1a29e2ad9c349ce827bbb8ab0ff6d83f.png

许多程序都是用syslog协议将时间记录到系统,每一个日志都会更具消息类型和严重性分类

26bdd31ace5a889575fb06e4dd0c0f68.png

linux中的打包和压缩

打包程序:tar

c 创建文档

t 列出存档内容

x 提取文档

f 要错做的文档文件名

v 详细信息

注意事项:

选项之前不加-

创建之前请检查重命名文件

要是tar可以打包选定的文件,执行tat命令的用户必须能够读取这些文件

示例:在linux中文件后缀名毫无意义,我们加上.tar的后缀只是为了方便管理员阅读

6af0aa8bf251d9950f66af3647c8fba8.png

18645078302360a1e4e3e7c74ea3025b.png

54a0b9034e6d7c391db6365789e98f35.png

tar支持三种不同的压缩方式:

gzip:压缩速度最快,历史悠久,应用广泛

bzip2:压缩成的存档文件小,可用性不如gzip

xz:最新的方式,提供最佳的压缩率

实际环境中3种情况都肯遇到,所以创建不一样的格式归档文件就有自己的选项

z 用于gzip压缩:fileName.tar.gz

j 用于bzip2压缩: fileName.tar.bz2

J 用于xz压缩: fileName.tar.xz

示例:

f54f1dda25630e38477b4367f161f6c3.png

解压:

5b598fe12fc649a757c12f94da8733dd.png

linux中的计划作业 cron

cron:是一个进程,可以让linux周期性的执行某一命令

crontab是一个命令,可以设置linux周期性的执行某一命令

-u 设置某一用户周期性工作 root权限

-e 编辑crontab的工作内容

-l 查询crontab工作内容

-r 移除所有crontab工作内容

bdeb56ffe3fb2f5a6580eaf36a2a72f9.png

crontab格式:

e210e912fef544490dad707f40aea065.png

ef3077d271d4340d8c39c63f872ea78e.png

示例:

690120ffe8c7b8e09c65dc8c46b660c7.png

当你发现创建计划任务,而并没有按照预期的执行 输入:systemctl restart crond.service 重启。

4067448c8ed582aed0b4c1578ead98f6.png

输入输出重定向:

de3c28091a1ee0ca5a1ede23ae72c808.png

示例:

覆盖 >

0e90012525a0a63a469946564e5fd68e.png

追加>>

f1dafe564379817ab227f1552eadbf34.png

错误输出:

ded511b35262b63fe3dc0ce72834b17a.png

输出到回收站:

4954231b3b9216aa59688f42ef92919b.png

正确和错误指令输出到同一文件:

ebe5518c4c2a2a6c7e322af07d8646e4.png

示例:定时任务,每隔一分钟输出日期到指定目录

70e083261b830f408f34ca3e08f7bd74.png

73de59642c892d4b30e0997c867ca732.png

管道符 |

把上一个指令的输出作为下一个指令的输入来执行

搭配 grep 字符实现过滤功能

aca287c0ed8e6ae63658f76a8f7e6cf5.png

过滤进程

81c83b1881875fa398061e4922549c13.png

输出重定向

39637a5f64d6cdac90715b18d2ba7c9b.png

正则表达式和通配符

常用通配符:

* 匹配任意多个字符

?匹配任意一个字符

[......] 匹配括号内出现的任意字符

[!......]匹配括号内未出现的任意字符

示例:

78d9662e883f5edb9ceb099d2c7cfe9f.png

linux中的查找与替换

sed

a 新增 a后面可以接字符串,这些字符串会出现在下一行中

d 删除

i 插入 i后面可以接字符串,这些字符串会出现在上一行中

p 打印

s 取代,可以直接进行取代工作

示例:

2c4a8317ac2f69e6b41fdea0ec950c42.png

删除第一到第二行内容:

d39adc1570af2ae23a6079ad7a664275.png

在第三行后面添加123456

f5cf2f9a55eb1a16680567e24876539c.png

在最后一行的前面插入abcd

297b1712f396d046a627d5c81e2e11f6.png

以上的修改都不会对原文件起作用,若要修改原文件加上参数 -i 即可

查找语句find

-name 查找指定名称的文件

-user 查找指定用户拥有的文件

-group 查找指定组拥有的文件

-mtime n 查找n天前修改的文件

-atime n 查找n天前被访问的文件

示例:

查找/var目录下 3天内被修改的文件

9d3371b63b535bc7672eb95bbc299cf1.png

查找/var目录下2天内被访问的文件(只显示头10行)

2c389a7582bcabadf11d42a3928d6c21.png

查找/var目录下大于20M的文件

5b65e279d0b70395aca20390a1637ae4.png

将/var目录下大于80M的文件复制到/tmp/a/目录下,保留文件和文件夹属性

de64ca205e94bfbefbf375d1fd4c54aa.png

c7cdfdf4af7f57bbca8f4fe576109a8d.png

举报/反馈

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值