Unit6 系统进程及服务控制

什么是进程

系统没有完成并正在进行的工作,进程有五种状态,

运行(正在运行或运行队列中排队等待)、

中断(休眠中、受阻在等待毛个条件的形成或接受到信号)、

不可中断(进程必须等待有中断发生)、

僵死(进程中止但描述符仍在)

停止(进程收到停止的命令信号)

查看进程

ps -A   #所有进程

ps -a   #当前终端中运行的进程(不含详细信息)

[kiosk@foundation30 ~]$ ps -a
  PID TTY       TIME CMD
 2462 pts/0    00:00:00 ps

ps -u   #显示进程的用户信息

[kiosk@foundation30 ~]$ ps -u
USER    PID %CPU %MEM  VSZ    RSS TTY    STAT START  TIME COMMAND
kiosk     2410  0.0  0.0    116168  2836 pts/0    Ss   17:39   0:00 bash
kiosk     2496  0.0  0.0    151056  1824 pts/0    R+   17:40   0:00 ps -u

ps a    #在当前终端中运行的进程(含详细信息)

[kiosk@foundation30 ~]$ ps a
  PID TTY    STAT  TIME COMMAND
 1475 tty1     Ssl+   0:10 /usr/bin/Xorg :0 -background none -noreset -audit 4 -
 2410 pts/0    Ss     0:00 bash
 2512 pts/0    R+     0:00 ps a

x:列出系统中运行包含tty输出设备

扫描二维码关注公众号,回复: 5037819 查看本文章

f:显示pid

e:显示进程的详细信息(系统的资源调用情况)

ps常用

ps aux #显示系统中所有进程并显示进程用户

ps ef  #显示进程的详细信息和pid

ps af #显示当前系统中的所有进程

显示进程的指定信息

ps -o comm ##显示进程的名称

      user #拥有者

      group  ##所属组

      %cpu  ##进程对cpu的使用率

      %mem  ##对内存的使用率

      pid   ##进程id

      nice  ##进程优先级

进程对cpu和mem使用率的排序

ps ax --sort=+%cpu
ps ax --sort=-%cpu
ps ax --sort=+%mem
ps ax --sort=-%mem

进程优先级

-20~19数值表示越小越优先

查看进程的优先级别

ps ax -o pid,nice,comm

指定某个优先级开启进程

nice -n -5 vim filename &  #开启vim并指定程序优先级为:-5

改变进程的优先级

renice -n 5 30041(要改变进程的pid)

环境中进程的前后台调用

jobs ##查看被打入后台的进程

ctrl+z  ##把占用终端的进程打入后台

输入gedit后可以编辑文字但无法在终端进行输入,

及此时gedit占用了前台,使用ctrl+z可以将其打入后台并使用jobs查看,

[kiosk@foundation30 ~]$ gedit

^Z

[1]+  Stopped                 gedit

[kiosk@foundation30 ~]$ jobs

[1]+  Stopped                 gedit

fg jobsnum  ##把后台的进程调回前台(占用终端)

bg jobsnum  ##把后台暂停的程序运行(在后台运行)

comm &  ##让命令直接在后台运行

服务

linux中服务是一类常住内存中的进程

启动后在后台会一直运行

服务的控制命令

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

  systemctl list-unit-files ##列出所有服务开机启动的状态

systemctl   set-default multi-user.target  #设定系统的启动级别为多用户模式(无图形界面)

systemctl  set-default graphical.target   #设定系统启动级别为图形>用户模式

 

对一个服务的操作

systemctl start sshd   ##开启

systemctl stop sshd   ##关闭

systemctl restart sshd   ##重启

systemctl reload sshd   ##重载

systemctl enable sshd  ##设置开机启动

systemctl disable sshd   ##关闭开机启动

查看一个服务目前状态可以使用

service sshd status

[kiosk@foundation30 ~]$ service sshd status

Redirecting to /bin/systemctl status  sshd.service

● sshd.service - OpenSSH server daemon

   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)

   Active: active (running) since Wed 2019-01-09 04:17:51 CST; 43min ago

     Docs: man:sshd(8)

           man:sshd_config(5)

  Process: 1160 ExecStart=/usr/sbin/sshd $OPTIONS (code=exited, status=0/SUCCESS)

 Main PID: 1176 (sshd)

   CGroup: /system.slice/sshd.service

           └─1176 /usr/sbin/sshd

sshd

sshd服务是通过网络访问连接不同主机或用户。

ssh 远程主机用户@远程主机ip  #连接远程主机,但不能开启、操作图形界面
ssh 远程主机用户@远程主机ip -X  #调用远程主机图形工具
ssh 远程主机用户@远程主机ip -X command  #也可以直接加上命令使用

操作案例

打开desktop和server两台虚拟机,并生成密钥和锁,将锁分配给desktop的root,钥匙给server的student用户,建立连接。

1.首先对两台虚拟机进行重置

[kiosk@foundation30 ~]$ rht-vmctl reset desktop

Are you sure you want to reset desktop? (y/n) y

Resetting desktop.

Powering off desktop..

Creating virtual machine disk overlay for rh254-desktop-vda

Creating virtual machine disk overlay for rh254-desktop-vdb

Starting desktop.

[kiosk@foundation30 ~]$ rht-vmctl reset server

Are you sure you want to reset server? (y/n) y

Resetting server.

Powering off server.

Creating virtual machine disk overlay for rh254-server-vda

Creating virtual machine disk overlay for rh254-server-vdb

Starting server.

2.对两个虚拟机的ip地址进行设置,并验证是否可以链接

nm-connection-editor

删除System eth0并新建网卡

将desktop的ip地址改为172.25.254.80

将server的ip地址改为172.25.254.130

systemctl restart network  ##重启网络设置

ping 172.25.254.80   ##验证能否链接

3.修改主机名

因为两个虚拟机的主机名字都是localhost,更改后方便在后边进行观察,

hostnamectl set-hostname vm80    ##desktop
hostnamectl set-hostname vm130   ##server

4.设置密钥和锁

首先进入/root/.ssh中并清空内容,因为重新生成的密钥和锁要存在这个目录内(在student用户下.ssh在/home/student/目录下)

cd /root/.ssh
rm -rf *
ls   ##查看是否清空
ssh-keygen  ##设置密钥和锁,为了方便记忆输密码时一律使用回车键
ls   ##再次查看,id_rsa表示密钥,id_rsa.pub表示锁

5.分配

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]  ##将id_rsa.pub给88的root用户
scp /root/.ssh/id_rsa [email protected]    
##将id_rsa给130的student用户,需要输入student的密码,可以预先过去设置一下

6.验证

在server中操作,

su - student
ssh @172.25.254.80

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_41884844/article/details/86104357