Linux系统管理

linux中的进程与服务

进程:Linux中正在执行的程序或者命令

服务:Linux中一直存在、常驻内存的进程

守护进程:进程按照运行方式进行划分,又分为前台显示和后台显示的进程(服务全部属于后台进程),而负责执行这些系统服务的进程我们称之为守护进程

守护进程在后缀会添加一个d,即dame

CenterOs7中就是通过一个systemd的守护进程来进行启动各种系统服务

查看systemd下的服务:

  1. ls /usr/lib/systemd/system
  2. abrt-ccpp.service graphical.target.wants plymouth-read-write.service suspend.target
  3. abrtd.service gssproxy.service plymouth-reboot.service swap.target
  4. abrt-oops.service halt-local.service plymouth-start.service sys-fs-fuse-connections.mount
  5. abrt-pstoreoops.service halt.target plymouth-switch-root.service sysinit.target
  6. abrt-vmcore.service halt.target.wants polkit.service sysinit.target.wants
  7. abrt-xorg.service hibernate.target postfix.service sys-kernel-config.mount

target表示一组服务的集合

  1. [root@hadoop100 ~]# ls /usr/lib/systemd/system | grep d.service
  2. abrtd.service
  3. anaconda-sshd.service
  4. atd.service
  5. auditd.service
  6. cgdcbxd.service
  7. cgred.service
  8. chronyd.service
  9. colord.service
  10. containerd.service
  11. crond.service
  12. cups-browsed.service
  13. firewalld.service
  14. fprintd.service
  15. fwupd.service
  16. iscsid.service
  17. ksmtuned.service
  18. ...

这些守护进程守护的就是各种系统后台进程

1 CenterOs7 的服务管理

基础语法 systemctl start | stop | restart | status
查看服务 /usr/systemd/system
ps [options] 查看系统进程状态
  1. [root@hadoop100 ~]# ps
  2. PID TTY TIME CMD
  3. 3610 pts/0 00:00:00 bash
  4. 8932 pts/0 00:00:00 ps

直接输入ps只会显示当前用户以及与当前终端相关联的进程

  • a:列出带有终端的(前台进程)所有用户的进程

  • x:列出当前用户的所有进程,包括没有终端的进程(后台进程)

  • u:面向用户友好的显示风格

  • -e:列出所有进程

  • -u:列出某个用户关联的所有进程

  • -f:显示完整格式的进程列表(与u相同)

常用的组合:aux、-ef

可以看到上面的命令选项格式是不同的,-代表的是UNIX的编程风格,而不带-表示是BSD风格

可以使用-aux但是不推荐,因为linux会自动翻译为aux,但是,万一系统中存在一个叫做x的用户,那么这个命令显示的就是x用户的进程了。

ps aux 显示进程信息详解
  1. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  2. root 1 0.0 0.0 193944 7088 ? Ss Nov14 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
  3. root 2 0.0 0.0 0 0 ? S Nov14 0:00 [kthreadd]
  4. root 4 0.0 0.0 0 0 ? S< Nov14 0:00 [kworker/0:0H]
  5. root 6 0.0 0.0 0 0 ? S Nov14 0:00 [ksoftirqd/0]
  6. root 7 0.0 0.0 0 0 ? S Nov14 0:00 [migration/0]
  7. root 8 0.0 0.0 0 0 ? S Nov14 0:00 [rcu_bh]
  8. root 9 0.0 0.0 0 0 ? S Nov14 0:07 [rcu_sched]
  9. root 10 0.0 0.0 0 0 ? S< Nov14 0:00 [lru-add-drain]
  10. root 11 0.0 0.0 0 0 ? S Nov14 0:00 [watchdog/0]

STAT:进程的状态,常见状态有:

  • R:运行状态

  • S:睡眠状态,等待时间出现就会唤醒

  • s:包含子进程

  • T:暂停状态

  • Z:僵尸状态(zombie),进程即将结束,但是一些信息没有清理完成(比如父进程还需要子进程的一些信息),只剩一副空壳但是还占着系统资源

  • l:表示多进程运行

  • +:前台显示

  • <:当前进程有很高的优先级

  • N:进程优先级比较低

COMMAND:产生该进程的命令

VSZ:虚拟内存大小

RSS:物理内存大小

TTY:终端,?表示没有终端,即后台进程。对CentOs来说,tty1是图形化终端,tty2-tty6是本地的字符终端界面,pts/0-255表示虚拟终端

START:进程启动的时间

TIME:占用CPU的时间

一号进程/usr/lib/systemd/system是linux系统运行的第一个初始用户进程

二号进程kthreadd:负责所有内核线程的调度和管理的守护进程,很多系统级别的服务都是以系统线程的形式运行的,然后交由这个守护进程来管理。

ps -ef 显示进程信息详解
  1. UID PID PPID C STIME TTY TIME CMD
  2. root 1 0 0 Nov14 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
  3. root 2 0 0 Nov14 ? 00:00:00 [kthreadd]
  4. root 4 2 0 Nov14 ? 00:00:00 [kworker/0:0H]
  5. root 6 2 0 Nov14 ? 00:00:00 [ksoftirqd/0]
  6. root 7 2 0 Nov14 ? 00:00:00 [migration/0]
  7. root 8 2 0 Nov14 ? 00:00:00 [rcu_bh]
  8. root 9 2 0 Nov14 ? 00:00:07 [rcu_sched]
  9. root 10 2 0 Nov14 ? 00:00:00 [lru-add-drain]

PID指的是进程id,PPID则指的是父进程ID

STIME:开始时间

UID:进程用户

可以看到1、2号进程的父进程是0号进程,0号进程即是idle,他是运行在系统内核态的系统进程

其他系统进程的父进程都是2号,用户进程则是0号

aux 和 -ef的选择

当需要查看进程cpu、内存占用率则使用aux,想要查看父进程则使用-ef

查看远程登录进程 ps -ef | grep sshd
  1. [root@hadoop100 ~]# ps -ef | grep sshd
  2. root 953 1 0 Nov14 ? 00:00:00 /usr/sbin/sshd -D
  3. root 3376 953 0 Nov14 ? 00:00:00 sshd: root@pts/0
  4. root 14246 953 1 02:54 ? 00:00:00 sshd: hikaru [priv]
  5. hikaru 14258 14246 0 02:54 ? 00:00:00 sshd: hikaru@pts/1
  6. root 14298 3610 0 02:54 pts/0 00:00:00 grep --color=auto sshd

可以看到使用hikaru用户登录之后有两个hikaru进程,一个用户显示为root,另一个显示为hikaru,除此之外,第二个进程是通过虚拟终端pts1登录的且它的父id正好是用户为root的进程。而第一个进程创建的目的是为了实现权限分离

kill [选项] pid 终止进程

比如我们想要关闭上面的hikaru的用户终端,既可以关闭14258,也可以关闭14246(父进程关闭子进程也会关闭),然后在终端就可以看到连接被关闭了。

kill掉sshd守护进程,会发生什么?
  1. [root@hadoop100 ~]# ps -ef | grep sshd
  2. root 953 1 0 Nov14 ? 00:00:00 /usr/sbin/sshd -D
  3. root 3376 953 0 Nov14 ? 00:00:00 sshd: root@pts/0
  4. root 14763 3610 0 03:40 pts/0 00:00:00 grep --color=auto sshd
  5. [root@hadoop100 ~]# kill 953
  6. [root@hadoop100 ~]# ps -ef | grep sshd
  7. root 3376 1 0 Nov14 ? 00:00:00 sshd: root@pts/0
  8. root 14766 3610 0 03:40 pts/0 00:00:00 grep --color=auto sshd

kill953sshd守护进程后,当前的虚拟终端@pts/0并没有因为父进程的关闭而关闭,只不过父进程由原来的953改为了1,即系统初始化用户服务进程。然后重点是由于没有sshd,创建不了虚拟终端,远程现在连接不上服务器。

再次启动sshd也很简单,直接使用systemctl:

  1. [root@hadoop100 ~]# systemctl start sshd
  2. [root@hadoop100 ~]# systemctl status sshd
  3. sshd.service - OpenSSH server daemon
  4. Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
  5. Active: active (running) since Tue 2022-11-15 03:46:44 PST; 3s ago
  6. Docs: man:sshd(8)
  7. man:sshd_config(5)
  8. Main PID: 14835 (sshd)
  9. Tasks: 1
  10. Memory: 1.0M
  11. CGroup: /system.slice/sshd.service
  12. └─14835 /usr/sbin/sshd -D
  13. Nov 15 03:46:44 hadoop100 systemd[1]: Starting OpenSSH server daemon...
  14. Nov 15 03:46:44 hadoop100 sshd[14835]: Server listening on 0.0.0.0 port 22.
  15. Nov 15 03:46:44 hadoop100 sshd[14835]: Server listening on :: port 22.
  16. Nov 15 03:46:44 hadoop100 systemd[1]: Started OpenSSH server daemon.
killall 杀死多个进程,支持通配符
远程登录的进程之间的启动顺序

首先系统启动会启动1号进程systemd用户初始化进程,然后由1号进程启动SSHD远程登录守护进程,再启动远程登录进程,再有远程登录进程启动bash作为shell的具体实现来产生各种子进程来执行各种远程命令。

我们在终端执行的各种命令都是基于bash产生的各种子进程

  1. root 729 1 0 Nov14 ? 00:00:00 /bin/bash /usr/sbin/ksmtuned
  2. root 3610 3376 0 Nov14 pts/0 00:00:00 -bash
  3. hikaru 9494 981 0 01:44 tty1 00:00:00 -bash
  4. root 14893 3610 0 03:52 pts/0 00:00:00 grep --color=auto bash

可以看到每个虚拟终端都对应着一个bash进程,而真实终端tty由于打开了终端也有一个bash

kill -9 强制杀死进程
pstree [options] 查看进程树
安装pstree
  1. yum install pstree
pstree查看树形结构的运行进程
  1. pstree | less
  2. systemd─┬─ModemManager───2*[{ModemManager}]
  3. ├─NetworkManager───2*[{NetworkManager}]
  4. ├─VGAuthService
  5. ├─abrt-dbus───2*[{abrt-dbus}]
  6. ├─2*[abrt-watch-log]
  7. ├─abrtd
  8. ├─agetty
  9. ├─alsactl
  10. ├─atd
  11. ├─auditd─┬─audispd─┬─sedispatch
  12. └─{audispd}
  13. └─{auditd}
  14. ├─avahi-daemon───avahi-daemon
  15. ├─bluetoothd
  16. ├─chronyd
  17. ├─containerd───9*[{containerd}]
  18. ├─containerd-shim─┬─nginx───4*[nginx]
  19. └─10*[{containerd-shim}]
  20. ├─containerd-shim─┬─redis-server───4*[{redis-server}]
  21. └─10*[{containerd-shim}]
  22. ├─containerd-shim─┬─mysqld───26*[{mysqld}]
  23. └─10*[{containerd-shim}]
  24. ├─crond
  25. ├─cupsd
  26. ├─dbus-daemon───{dbus-daemon}
  27. ├─dnsmasq───dnsmasq
  28. ├─dockerd─┬─2*[docker-proxy───5*[{docker-proxy}]]
  29. ├─3*[docker-proxy───7*[{docker-proxy}]]
  30. ├─docker-proxy───6*[{docker-proxy}]
  31. └─13*[{dockerd}]
  32. ├─gssproxy───5*[{gssproxy}]
  33. ├─irqbalance
  34. ├─ksmtuned───sleep
  35. ├─libvirtd───16*[{libvirtd}]
  36. ├─lsmd
  37. ├─lvmetad
  38. ├─master─┬─pickup
  39. └─qmgr
  40. ├─polkitd───6*[{polkitd}]
  41. ├─rngd
  42. ├─rpcbind
  43. ├─rsyslogd───2*[{rsyslogd}]
  44. ├─smartd
  45. ├─sshd───sshd───bash───pstree
  46. ├─systemd-journal
  47. ├─systemd-logind
  48. ├─systemd-udevd
  49. ├─tuned───4*[{tuned}]
  50. └─vmtoolsd───2*[{vmtoolsd}]

如下面的

systemd-sshd-sshd-bash-pstree:1号进程首先启动后台sshd守护进程,然后远程登录的sshd进程被创建,然后基于此远程登录进程打开控制台界面即bash,执行命令pstree即为bash产生的子进程

选项说明
  • -p:显示进程的pid

    1. [root@hadoop100 ~]# pstree -p
    2. systemd(1)─┬─ModemManager(699)─┬─{ModemManager}(714)
    3. └─{ModemManager}(732)
    4. ├─NetworkManager(701)─┬─{NetworkManager}(748)
    5. └─{NetworkManager}(759)
    6. ├─VGAuthService(642)
    7. ├─abrt-watch-log(665)
    8. ├─abrt-watch-log(671)
    9. ├─abrtd(661)
    10. ├─agetty(1016)
    11. ├─alsactl(638)
    12. ├─atd(1018)
  • -u:显示当前用户

    1. [root@hadoop100 ~]# pstree -u
    2. systemd─┬─ModemManager───2*[{ModemManager}]
    3. ├─NetworkManager───2*[{NetworkManager}]
    4. ├─VGAuthService
    5. ├─2*[abrt-watch-log]
    6. ├─abrtd
    7. ├─agetty
    8. ├─alsactl
    9. ├─atd
    10. ├─auditd─┬─audispd─┬─sedispatch
    11. └─{audispd}
    12. └─{auditd}
    13. ├─avahi-daemon(avahi)───avahi-daemon
    14. ├─bluetoothd
    15. ├─chronyd(chrony)

    当子进程用户与父进程不同的时候才会显示,相同的话会进行隐藏

top [options] 实时监控进程
  1. top - 22:09:07 up 19 min, 1 user, load average: 0.00, 0.01, 0.04
  2. Tasks: 160 total, 1 running, 159 sleeping, 0 stopped, 0 zombie
  3. %Cpu(s): 0.1 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
  4. KiB Mem : 7990064 total, 6361228 free, 863720 used, 765116 buff/cache
  5. KiB Swap: 3145724 total, 3145724 free, 0 used. 6864708 avail Mem
  6. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  7. 48 root 39 19 0 0 0 S 0.7 0.0 0:00.76 khugepaged
  8. 9 root 20 0 0 0 0 S 0.3 0.0 0:00.91 rcu_sched
  9. 41 root 20 0 0 0 0 S 0.3 0.0 0:00.04 kworker/3:1
  10. 643 root 20 0 295376 5188 3948 S 0.3 0.1 0:01.24 vmtoolsd

up time:系统运行时间

load average:过去1、5、15分钟内系统的负载

tasks:当前执行的任务总数

PR:任务调度的优先级

NI:用户指定的Nice值(优先级)

VIRT:虚拟内存占用的大小

RES:物理内存

SHARE:共享内存

S:运行状态 (R:运行状态,S:睡眠状态)

选项说明
  • -d:指定top命令间隔几秒钟更新,默认为3秒

    1. [root@hadoop100 ~]# top -d 1
    2. Tasks: 160 total, 1 running, 159 sleeping, 0 stopped, 0 zombie
    3. %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
    4. KiB Mem : 7990064 total, 6359992 free, 864884 used, 765188 buff/cache
    5. KiB Swap: 3145724 total, 3145724 free, 0 used. 6863528 avail Mem
    6. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    7. 1906 polkitd 20 0 1311460 209776 10304 S 1.0 2.6 0:04.73 mysqld
    8. 1 root 20 0 193944 7092 4196 S 0.0 0.1 0:01.89 systemd
    9. 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
    10. 4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
  • -i:使top不显示任何闲置或者僵死进程

    1. [root@hadoop100 ~]# top -i
    2. Tasks: 160 total, 1 running, 159 sleeping, 0 stopped, 0 zombie
    3. %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
    4. KiB Mem : 7990064 total, 6360116 free, 864756 used, 765192 buff/cache
    5. KiB Swap: 3145724 total, 3145724 free, 0 used. 6863656 avail Mem
    6. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    7. 995 root 20 0 1108360 50064 19928 S 0.3 0.6 0:03.15 containerd
    8. 1906 polkitd 20 0 1311460 209776 10304 S 0.3 2.6 0:04.79 mysqld
  • -p:通过进程id仅仅监视某个进程

top命令筛选

进入top命令之后可以输入指令对进程进行筛选

  • u:对用户进行筛选,空格或者直接回车表示全部的用户

  • k:根据pid终止某一个进程,然后可以在输入一个发送信号(如之前的9)

    1. top - 22:51:04 up 1:01, 2 users, load average: 0.00, 0.01, 0.05
    2. Tasks: 162 total, 2 running, 160 sleeping, 0 stopped, 0 zombie
    3. %Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
    4. KiB Mem : 7990064 total, 6354900 free, 869772 used, 765392 buff/cache
    5. KiB Swap: 3145724 total, 3145724 free, 0 used. 6858568 avail Mem
    6. PID to signal/kill [default pid = 63] 2752
    7. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    8. 2752 hikaru 20 0 116464 3084 1624 S 0.0 0.0 0:00.01 bash
netstat 显示网络状态和端口占用信息
基本语法
选项说明
  • -a:显示所有正在监听(listen)和未监听的套接字(socket)

  • -n:拒接显示别名,能显示数字的全部转换为数字

  • -l:仅列出在监听的服务状态

  • -p:表示显示那个进程在调用

套接字标识两个进程之间的连接,向套接字写数据就相当于对端主机发送数据,从套接字读数据就相当于从端主机中读数据

套接字本质是一串数字,包含ip地址加端口号,用于标识连接的进程

常见的端口号(0~65535)

如SSH服务占用的是22端口、网页占用的是80端口、mysql为3306、redis6379

常用命令

netstat -anp | grep 进程号

  1. Active Internet connections (servers and established)
  2. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  3. tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1796/docker-proxy
  4. tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 2866/docker-proxy
  5. tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 637/rpcbind
  6. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1761/docker-proxy
  7. tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1444/dnsmasq
  8. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 988/sshd
  9. tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 983/cupsd
  10. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1301/master
  11. tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 2171/sshd: root@pts
  12. tcp 0 0 192.168.60.100:22 192.168.60.1:60916 ESTABLISHED 2171/sshd: root@pts
  13. tcp6 0 0 :::3306 :::* LISTEN 1809/docker-proxy

Proto:当前接口的网络协议

Recv-Q:连接到当前socket的用户程序还没有拷贝的字节数

Send-Q:已经发送但远程主机还没有收到的字节数(有可能丢掉或者重新传递的数据)

Address:0.0.0.0表示本地的所有地址。127.0.0.1本地回环地址(localhost)

netstat -nlp | grep 端口号

☆crontab [options] 系统定时任务
启动cron服务
  1. [root@hadoop100 ~]# systemctl status crond
  2. crond.service - Command Scheduler
  3. Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
  4. Active: active (running) since Tue 2022-11-15 21:50:03 PST; 1h 43min ago
  5. Main PID: 1015 (crond)
  6. Tasks: 1
  7. Memory: 768.0K
  8. CGroup: /system.slice/crond.service
  9. └─1015 /usr/sbin/crond -n
  10. Nov 15 21:50:03 hadoop100 systemd[1]: Started Command Scheduler.
  11. Nov 15 21:50:03 hadoop100 crond[1015]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 42% if used.)
  12. Nov 15 21:50:03 hadoop100 crond[1015]: (CRON) INFO (running with inotify support)
选项说明
  • -e:编辑crontab定时任务

    1. [root@hadoop100 ~]# crontab -l
    2. no crontab for root
  • -l:查询crontab定时任务

  • -r:删除当前用户的所有crontab定时任务

crontab -e 编辑定时执行的内容
  1. */1 * * * * echo "hello,world" >> /root/hello

格式为 ****** + 执行的内容

第一个表示一个小时的第几分钟 0-59

第二个表示一天中的第几个小时 0-23

第三个表示一个月当中的第几天 1-31

第四个表示一年中的第几个月 1-12

最后一个表示星期几 0-7(0和7都表示星期天)

特殊符号的含义:

*:代表任何时间

,:代表不连续时间 如 0 8,9,10 代表8点整9点整、十点整

-:代表连续的时间范围 0 5 * * 1-6 表示在周一到周六的5点整执行

*/n:表示每隔多久执行一次

实例

Linux(六)进程管理的更多相关文章

  1. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  2. Linux操作系统的进程管理

    Linux操作系统的进程管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.进程相关概念 1>.进程概述 内核的功用: 进程管理.文件系统.网络功能.内存管理.驱动程序. ...

  3. linux 系统管理--进程管理

    目录 linux 系统管理--进程管理 一.进程基本概述 二.监控进程状态 三.进程的优先级[进阶] 四.企业案例,Linux假死是怎么回事 五.后台进程管理 六.系统平均负载[进阶] linux 系 ...

  4. .Neter玩转Linux系列之五:crontab使用详解和Linux的进程管理以及网络状态监控

    一.crontab使用详解 概述:任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: (1)系统工作:有些重要的工作必须周而 复始地执行. (2)个别用户工作:个别用户可能希望执 行 ...

  5. Linux:进程管理

    Linux:进程管理 进程间通信 文件和记录锁定. 为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完后再释放.这是UNIX为共享 ...

  6. Linux操作系统的进程管理和作业管理

    Linux操作系统的进程管理和信号 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.lsof命令详解 1>.lsof概述 list open files查看当前系统文件的工 ...

  7. Linux学习-进程管理

    为什么进程管理这么重要呢? 这是因为: 首先,我们在操作系统时的各项工作其实都是经过某个 PID 来达成的 (包括你的 bash 环境), 因此,能不能进行某项工作,就与该进程的权限有关了. 再来,如 ...

  8. Linux内核——进程管理与调度

    进程的管理与调度 进程管理 进程描写叙述符及任务结构 进程存放在叫做任务队列(tasklist)的双向循环链表中.链表中的每一项包括一个详细进程的全部信息,类型为task_struct,称为进程描写叙 ...

  9. linux系统管理--进程管理

    这两天一直维护公司的服务器,主要对进程管理和linux工作管理,把一些零散的知识整理一下,书归正传~ 什么进程?  以下是百度给的解释的进程,说实话,云里雾里的,其实linux进程和windows进程 ...

  10. 【linux之进程管理,系统监控】

    一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...

随机推荐

  1. unity shader 描边

    https://zhuanlan.zhihu.com/p/66282034   这个是将整个模型放大 在世界坐标操作 https://blog.csdn.net/ToToTofu/article/de ...

  2. drf(3)

    1 不使用drf编写5个接口 1.1 路由 urlpatterns = [    path('books/', views.BookView.as_view()),    path('books/&l ...

  3. linux命令基本操作

    chmod 命令 : chmod -R 755 tools_command/ 解释 : -R 为递归遍历tools_command文件夹, chmod 755修改权限: 查看所有用户 1.cat /e ...

  4. <a-upLoad>连报三错

    [Vue warn]: Invalid prop: custom validator check failed for prop "fileList". [Vue warn]: I ...

  5. 离线安装docker和harbor

    1.下载docker和harbor版本(版本自选) docker下载地址: https://download.docker.com/linux/static/stable/x86_64/ harbor ...

  6. 记录Nginx配置

    1 # Proxy to the Airsonic server location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_hea ...

  7. 转帖:弹性布局(display:flex;)属性详解

    它之所以被称为 Flexbox ,是因为它能够扩展和收缩 flex 容器内的元素,以最大限度地填充可用空间.与以前布局方式(如 table 布局和浮动元素内嵌块元素)相比,Flexbox 是一个更强大 ...

  8. NET 实现 Cron 定时任务执行,告别第三方组件

    原文连接: (96条消息) NET 实现 Cron 定时任务执行,告别第三方组件_.net 定时任务_Phil Arist的博客-CSDN博客 代码: using System.Globalizati ...

  9. element plus按钮点击后不会自动失去焦点的解决方案及Vue3中如何挂载全局函数并在组件中使用

    一.element plus按钮点击后不会自动失去焦点,该如何解决? 在按钮点击点击回调中增加以下代码: event.target.blur() if (event.target.nodeName = ...

  10. java并发编程实践-线程安全性

    线程是CPU资源调度的基本单位,如果一个程序中只有一个线程,则最多只能在一个处理器上运行,如果电脑/服务器是双处理器系统,则单线程的程序只能使用一半的CPU资源,所以,多线程是提高处理器资源利用率的重 ...