进程管理命令
进程和程序的区别
1 程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。
2 程序和进程无一一对应关系。一个进程在活动中可有顺序地执行若干个程序。
父进程与子进程
1 子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程。
2 在Linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。
3 父进程终止子进程自然终止。
进程和线程的区别
进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程。
进程管理的作用:判断服务器的健康状态;查看系统所有的进程;杀死进程.
前台进程和后台进程
前台进程:
在Shell提示处打入命令后,创建一个子进程,运行命令,Shell等待命令退出,然后返回到对用户给出提示符。这条命令与Shell异步运行,即在前台运行,用户在它完成之前不能执行另一个命令。
后台进程:
在Shell提示处打入命令,若后随一个&,Shell创建的子进程运行此命令,但不等待命令退出,而直接返回到对
用户给出提示。这条命令与Shell同步运行,即在后台运行。后台进程必须是非交互式的。
ps
作用:查看系统中的进程信息
语法:ps [-auxle]
常用选项
a:显示所有用户的进程
u:显示用户名和启动时间
x:显示没有控制终端的进程
e:显示所有进程,包括没有控制终端的进程
l:长格式显示
复制代码
查看系统中所有进程
ps aux #查看系统中所有进程,使用BSD操作系统格式,unix
ps -le #查看系统中所有进程,使用Linux标准命令格式
eg: [root@qianfeng01 ~]# ps -u or ps -l 查看隶属于自己进程详细信息
eg: [root@qianfeng01 ~]# ps aux | grep sam 查看用户sam执行的进程
eg: [root@qianfeng01 ~]# ps -ef | grep init 查看指定进程信息
复制代码
pstree
作用:查看当前进程树
语法:pstree [选项]
-p 显示进程PID
-u 显示进程的所属用户
复制代码
文末扫码领取大数据学习礼包!
top
作用:查看系统健康状态
显示当前系统中耗费资源最多的进程,以及系统的一些负载情况。
语法:top [选项]
-d 秒数,指定几秒刷新一次,默认3秒(动态显示)
复制代码
kill
作用:关闭进程
语法:kill [-选项] pId
eg: [root@qianfeng01 ~]# kill -9 进程号(强行关闭) 常用
eg: [root@qianfeng01 ~]# kill -1 进程号(重启进程)
eg: [root@qianfeng01 ~]# killall -l 关闭所有进程(忽略进程名的大小写)
复制代码
w
作用: 查看用户信息
语法: w 用户名
eg: [root@qianfeng01 ~]# w root
显示:
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.158.3 06:02 0.00s 0.13s 0.00s w root
解释:
JCPU:以终端代号来区分,该终端所有相关的进程执行时,所消耗的CPU时间会显示在这里
PCPU:CPU执行程序耗费的时间
WHAT:用户正在执行的操作
复制代码
nohup
作用: 使进程在用户退出登陆后仍旧继续执行,nohup命令将执行后的数据信息和错误信息默认储存到文件nohup.out中
语法: nohup program & &在后台运行的意思
eg: [root@qianfeng01 ~]# nohup ping www.baidu.com &
使用: [root@qianfeng01 ~]# ps -ef | grep ping 查看当前的ping进程
复制代码
uptime
作用: 查看负载
例如: 使用uptime确定是服务器还是网络出了问题。如果网络应用程序运行,运行uptime来了解系统负载是否很高。如果负载不高,这个问题很有可能是由于网络引起的而非服务器。
语法: uptime
eg: 执行: [root@qianfeng01 ~]# uptime
显示: 06:32:04 up 19:57, 4 users, load average: 0.00, 0.01, 0.00
解释: 系统时间 用户数量 服务器在过去的1分钟、5分钟、15分钟的系统平均负载值
复制代码
用户管理命令
su
语法: su 用户名
作用: 切换用户
eg: [root@qianfeng01 ~]# su root 切换回root用户,注意:如果是root用户,每次都会要求输入密码.普通的用户可以直接切换
复制代码
useradd
添加用户
语法:useradd [选项] 用户名
复制代码
passwd
修改密码命令
语法:passwd [选项][用户名]
用户密码:生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符,要定期更换密码。
ys^h_L9t
复制代码
userdel
删除用户
-r 删除账号时同时删除宿主目录(remove)
注意:一个用户已经打开,需要删除
做法:先跳到当前用户下面,执行exit 或 exit 用户名。这时会自动跳回root界面。
如果还是无法删除,可以将系统重启
复制代码
groupadd
用于添加组
-g 指定gid
复制代码
groupmod
用于修改组
-n 更改组名(new group)
[root@qianfeng01 ~]# groupmod -n new_gname old_gname
复制代码
groupdel
用于删除组
如果要删除的组归属于某一个用户的所属组,则不能删除该组
[root@qianfeng01 ~]# useradd -g hadoop hdfs
[root@qianfeng01 ~]# groupdel hadoop
复制代码
文末扫码领取大数据学习礼包!
文件权限命令
三种基本权限
r 读权限(read)
w 写权限(write)
x 执行权限 (execute)
复制代码
权限说明
所有者 所属组 其他人
第1位:文件类型(d 目录,- 普通文件,l 链接文件)
第2-4位:所属用户(所有者)权限,用u(user)表示
第5-7位:所属组权限,用g(group)表示
第8-10位:其他用户(其他人)权限,用o(other)表示
第2-10位:表示所有的权限,用a(all)表示
eg: -rw-r--r--. 1 root root 3664 Nov 30 17:42 CentOS-Vault.repo.bak
第十一位的1代表硬链接数
字符 | 权限 | 对文件的含义 | 对目录的含义 |
---|---|---|---|
r | 读权限 | 可以查看文件内容 | 可以列出目录的内容(ls) |
w | 写权限 | 可以修改文件内容 | 可以在目录中创建删除文件( mkdir,rm ) |
x | 执行权限 | 可以执行文件 | 可以进入目录(cd) |
对于文件,我们有执行权限的命令:
r-cat,more,head,tail,less
w-echo,vi
x-命令,脚本
对于目录,我们有执行权限的命令:
r-ls
w-touch,mkdir,rm,rmdir
x-cd
能删除文件的权限是必须对该文件所在的目录有wx权限。
chmod
用于权限更改
英文:change mode (change the permissions mode of a file)
作用:改变文件或目录权限
语法:
chmod [{ugoa}{+-=}{rwx}][文件名或目录]
chmod [mode=421][ 文件或目录]
参数:-R 下面的文件和子目录做相同权限操作(Recursive递归的)
可以有修改一个文件的权限:
1.root
2.文件所有者
eg: [root@qianfeng01 ~]# chmod u+x a.txt
eg: [root@qianfeng01 ~]# chmod u+x,o-x a.txt
用数字来表示权限(r=4,w=2,x=1,-=0)
eg: [root@qianfeng01 ~]# chmod 750 b.txt
rwx和数字表示方式能随意切换
注意:root用户是超级用户,不管有没有权限,root都能进行更改。用普通用户测试权限。
不能用一个普通用户去修改另一个普通用户的权限。
复制代码
chown
用于更改所有者
英文:change file ownership
作用:更改文件或者目录的所有者
语法 : chown user[:group] file...
-R : 递归修改
参数格式 : user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
eg:[root@qianfeng01 ~]# chown lee file1 把file1文件的所有者改为用户lee
eg:[root@qianfeng01 ~]# chown lee:test file1 把file1文件的所有者改为用户lee,所属组改为test
eg:[root@qianfeng01 ~]# chown –R lee:test dir 修改dir及其子目录的所有者和所属组
复制代码
chgrp
用于改变所属组
英文:change file group ownership
作用:改变文件或目录的所属组
语法 : chgrp [group] file...
eg: [root@qianfeng01 ~]# chgrp root test.log 把test.log的所属组修改为root
复制代码
sudo权限的配置
作用
root把本来只能超级用户执行的命令赋予普通用户执行。
sudo的操作对象是系统命令
修改sudoers文件
执行 [root@qianfeng01 ~]# visudo 这里实际修改的是/etc/sudoers文件
sudoers文件内部的信息解释
root ALL=(ALL) ALL
#用户名 被管理主机的地址(不是访问地址)=(可使用的身份) 授权命令(绝对路径)
%wheel ALL=(ALL) ALL
#%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
[root@qianfeng01 ~]# sudo -l 查看可用的sudo命令
注意:
sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。
若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。
用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
复制代码
语法
sudo(选项)(参数)
选项
-b:在后台执行指令;
-h:显示帮助;
-H:将HOME环境变量设为新身份的HOME环境变量;
-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;
-l:列出目前用户可执行与无法执行的指令;
-p:改变询问密码的提示符号;
-s:执行指定的shell;
-u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
-v:延长密码有效期限5分钟;
-V :显示版本信息。
更多大数据相关精彩内容欢迎B站搜索“千锋教育”
【千锋教育】大数据开发全套教程,史上最全面的大数据学习视频