您的位置:首页 > 运维架构 > Linux

Linux——系统进程及服务的控制、ssh

2019-01-09 09:48 393 查看

一、进程

1.什么是进程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
程序–运行–进程(可被cpu去调度)
进程>运行完毕>程序,进程就是系统没有完成并且正在进行的工作

2.查看进程

ps命令是进程状态(Process Status)的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令.

ps -A #所有进程
ps -a #当前环境下所运行的进程(不包含详细信息)
ps -u #显示进程的用户信息

ps a #在当前环境中运行的进程(包含详细信息)
ps x #列出系统中运行包含tty输出设备
ps f #显示pid
ps e #显示进程的详细信息(系统的资源调用情况)



ps默认情况下会显示与默认shell相关的信息:
PID是进程ID ,TTY是进程终端,NICE是优先级,TIME是使用了多长时间,COMMAND 是命令名称

#ps的常用组合
ps aux #显示所有进程并显示进程的用户
ps ef  #显示进程的详细信息的pid
ps ax  #显示当前系统中的所有进程

#ps显示进程的指定信息
ps -o comm #显示进程的名称
ps -o user #显示进程的拥有者
ps -o group#进程的所属组
ps -o %cpu #进程对cpu的使用率
ps -o %mem #进程对内存的使用率
ps -o pid  #进程的id
ps -o nice #进程的优先级
#ps  进程对cpu和mem的使用率的排序
ps ax --sort=+%cpu  #进程对cpu负载的正排序
ps ax --sort=-%cpu  #进程对cpu负载逆排序
ps ax --sort=+%mem  #进程对内存负载的正排序
ps ax --sort=!


按cpu的负载降序排列并显示前5行

关闭当前访问的进程
ps aux | grep 关键字 #找到连接命令
kill -9 pid 关闭访问进程

3.进程的优先级

1).进程的优先级范围

-20 - 19:数字越小优先级越高

2).优先级查看
ps ax -o pid,nice,comm 		#优先级查看
[root@desktop0 ~]# ps a -o pid,nice,comm
PID  NI COMMAND
614   0 Xorg
1128   0 agetty
1625   0 bash
1785   0 vim
1806  -5 vim
1824  -5 vim
1835   0 ps
3).指定某个优先级开启进程
nice -n -5 vim filename & 		#开启vim并且
指定程序优先级为-5
renice -n 5 要改变进程的pid 		#修改进程优先级

4.环境中进程的前后台调用

jobs 		#查看当前终端放入后台的工作
ctrl+z 		#把占用终端的进程放入后台 ,在后台都处于暂停的状态
fg jobsnum 	#把后台的进程调回前台(在前台运行)
bg jobsnum 	#把后台暂停的进程运行(在后台运行)
comm & 	#让命令直接在后台运行

5.进程信号

1.常用信号等级
1         		##进程重新加载配置
2         		##删除进程在内存中的数据
3        		##删除鼠标在内存中的数据
9         		##强行结束单个进程(不能被阻塞)
15       		##正常关闭进程     (可能会被阻塞)
18        		##运行暂停的进程
19       		##暂停某个进程     (不能被阻塞)
20        		##把进程打入后台    (可以被阻塞)
man 7 signal    ##查看信号详细信息

二.服务

1.什么是服务

linux中的服务是一类长驻内存中的进程
这类进程启动后就在后台当中持续不断的运行

2.用什么控制服务

系统的初始化进程可以对服务进行相应的控制

3.当前系统的初始化进程是什么

systemd #系统的初始化进程
系统开始的第一个进程,pid为1

4.服务的控制命令

systemctl   list - units 	#查看已经开启的服务当前状态

systemctl   list-unit-files   #查看所有服务开机启动的状态
systemctl	set-default multi-user.target #不开启图形
systemctl	set-default graphical.target #开启图形

systemctl list-units ##列出当前系统服务的状态
systemctl list-unit-files ##列出服务的开机状态
systemctl status sshd ##查看指定服务的状态
systemctl stop sshd ##关闭指定服务
systemctl start sshd ##开启指定服务
systemctl restart sshd ##重新启动服务
systemctl enable sshd ##设定指定服务开机开启
systemctl disable sshd ##设定指定服务开机关闭
systemctl reload sshd ##使指定服务从新加载配置
systemctl list-dependencies sshd ##查看指定服务的倚赖关系
systemctl mask sshd ##冻结指定服务
systemctl unmask sshd ##启用服务
systemctl set-default multi-user.target ##开机不开启图形
systemctl set-default graphical.target ##开机启动图形
setterm ##文本界面设定color

status    服务名(sshd)        	#查看服务状态
start     服务名 					#开启服务
stop      ..						#关闭服务
restart   ..		       			#重启服务
reload    ..						#重新读取服务配置
enable    ..  						#服务开机自启动
disable   ..						#开机不自启动

5.服务状态

systemctl status 服务名称

loaded ##系统服务已经初始化完成,加载过配置
active(running) ##正有一个或多个程序正在系统中执行,
#vsftpd 就是這種模式

atcive(exited) ##僅執行一次就正常結束的服務,
#目前並沒有任何程序在系统中执行

atcive(waiting) ##正在執行當中,
#不過還再等待其他的事件才能繼續處理
不过还需等待其他时间才能继续处理

inactive ##服务关闭
enbal 20000 ed ##服务开机启动
disabled ##服务开机不自启
static ##服务开机启动项不可被管理
failed ##系统配置错误

三.ssh

SSH 为 secure shell 的缩写即安全外壳协议,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

1.openssh-server

功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell

2.客户端连接方式

ssh    远程主机用户@远程主机ip
ssh    远程主机用户@远程主机ip   -X         ##调用远程主机图形工具
ssh    远程主机用户@远程主机ip   command    ##直接在远程主机运行某条命令

如果不能登陆成功看看是否安装了sshd服务,和服务是否开启
yum list openssh-server
systemctl status sshd.service

3.ssh加密

SSH之所以能够保证安全,原因在于它采用了公钥加密。

整个过程是这样的:(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

4.连接虚拟机

修改主机名
hostnamectl set-hostname 新主机名
1)修改ip
nm-connetion-editor
delete->add
iPv4 Settings ->Method :manual->add->
ifconfig ->成功
2)设置ssh公钥,密钥
首先进入/root/.ssh/ 清空文件->sh-keygen->enter ->enter…
进入/root/.ssh 查看 有一个公钥,一个密钥
id_rsa id_ras.pub
钥匙 锁
将锁发给正在登陆的用户上
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.60.1
将钥匙发给发起远程登陆的用户
scp /root/.ssh/id_rsa root@172.25.60.2 :/root/.ssh

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: