第七篇:linux之基本权限、进程管理、系统服务
文章目录 第七篇:linux之基本权限、进程管理、系统服务 一、基本权限 1、什么是权限? 2、为什么要有权限? 3、权限与用户之间的关系? 4、权限对应的数字含义 5、使用chmod设定权限示例 二、进程管理 三、系统服务
一、基本权限
1、什么是权限?
我们可以把它理解为操作系统对用户能够执行的功能所设立的限制,主要用来约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源的使用权力。
2、为什么要有权限?
因为系统中不可能只存在一个root用户,一定会存在多个用户,为保护每个登录用户的隐私和工作环境,所以便有了权限。
3、权限与用户之间的关系?
在linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。
rw- r– r– 属主权限位(文件所有者) 属组权限位 其他人权限位 6 4 4
4、权限对应的数字含义
字母 含义 对应权限 r 读取权限 4 w 写入权限 2 x 执行权限 1 - 没有权限 0
5、使用chmod设定权限示例
"""我们可以根据数字的不同,来对文件或文件夹设置对应的权限"""
chmod 777 demo. py
- rwxrwxrwx. 1 root root 57 Aug 6 20 : 34 demo. py
chmod 754 demo. py
二、进程管理
"""linux"""
ps - aux 【一般用的多】 [ 系统进程] / 用户进程/
ps - ef
top
kill - l
kill - 9 进程id 号
pkill - 9 nginx
killall nginx """windows"""
tasklist """screen的使用:管理进程"""
yum install screen - y
1 、创建一个窗口,就可以在窗口中执行耗时任务【相当于打开了一个bash】
screen - S myjobs
2 、退出当前bash,但是耗时任务还在后台运行
ctrl+ a+ d
3 、将bash中的后台耗时任务调到前台执行
screen - r myjobs
4 、查看当前打开了多少个screen窗口
screen - list
5 、可以使用exit退出screen( 也就是bash) 窗口
exit
状态 描述 USER 启动进程的用户 PID 进程运行的ID号 %CPU 进程占用CPU百分比 %MEM 进程占用的内存百分比 VSZ 进程占用虚拟内存大小(单位KB) RSS 进程占用物理内存实际大小(单位KB) TTY 进程是由那个终端启动的tty1、pts/0等,?表示内核程序与终端无关(远程连接会通过tty打开一个bash: tty) STAT 进程运行过程中的状态 man ps(/STATE) START 进程的启动时间 TIME 进程占用cpu的总时间(0表示还没超过秒) COMMAND 程序的运行指令,[中括号]属于内核态的进程,没有[]的是用户态进程
STAT基本状态 描述 R 进程运行 S 可中断睡眠 T 进程被暂停 D 不可中断睡眠 Z 僵尸进程 s 进程是控制进程,Ss进程的领导者、父进程 < 进程运行在高优先级上,S<优先级较高的进程 N 进程运行在低优先级上,SN优先级较低的进程 + 当前进程运行在前台,R+表示该进程在前台运行(正在io操作,一旦停止,数据丢失) I 进程是多线程的,SI表示进程是以线程方式运行
数字编号 信号含义 信号翻译 1 SIGHUP 通常用来重新加载配置件,重新读取一次参数的配置文件(类似reload) 9 SIGKILL 强制杀死进程【有状态的服务(如:mysql)强制停止,可能会导致下次无法正常启动】 15 SIGTERM 终止进程,默认kill使用该信息(比较平滑)
三、系统服务
"""centos6和centos7服务启动"""
service start network
systemctl start network我们可以 cd / usr/ lib/ systemd/ system/ 下,查看到相关的系统服务配置"""如何制作系统服务?【以源码安装的nginx为例】"""
1 、在/ usr/ lib/ systemd/ system/ 新建一个文件touch mynginx. service
2 、在 vim mynginx. service 书写
[ Unit]
Description= my nginx
After= network. target
[ Service]
Type= forking
ExecStart= / usr/ local/ nginx/ sbin/ nginx
ExecStop= / usr/ local/ nginx/ sbin/ nginx - s stop
ExecRestart= / usr/ local/ nginx/ sbin/ nginx - s restart
ExecReload= / usr/ local/ nginx/ sbin/ nginx - s reload
[ Install]
WantedBy= multi- user. target
3 、之后,就可以支持使用 systemctl start mynginx. service来启动mynginx服务【可以不加后缀. service】"""查看服务状态"""
systemctl status mynginx. service
Loaded: loaded ( / usr/ lib/ systemd/ system/ mynginx. service; disabled; vendor preset: disabled)
"""设置开机自启动"""
systemctl enable mynginx. service
"""取消开机自启动"""
systemctl disable mynginx. service