开发常用的 Linux 命令4(系统、进程和其它)

news2024/12/29 9:46:26

开发常用的 Linux 命令4(系统、进程和其它)
在这里插入图片描述
作为开发者,Linux是我们必须掌握的操作系统之一。因此,在编写代码和部署应用程序时,熟练使用Linux命令非常重要。这些常用命令不得不会,掌握这些命令,工作上会事半功倍,大大提高工作效率。
在这里插入图片描述

七、系统和关机(关机、重启和登出)

常用命令:

命令执行
shutdown -h now关闭系统
init 0关闭系统
telinit 0关闭系统
shutdown -h hours:minutes &在后台按预定时间关闭系统
shutdown -c取消按预定时间关闭系统
shutdown -r now重启
reboot重启
logout注销
time测算一个命令(即程序)的执行时间

其中:

shutdown -h now, init 0telinit 0 命令都可以用于关闭系统,但它们的实现方式略有不同:

  1. shutdown -h now 命令会立即关闭系统,并向所有登录用户发送关机通知。它会正常地卸载文件系统并停止所有进程。
  2. init 0 命令会将系统切换到运行级别0(也称为"单用户模式"),这个级别只运行必要的服务和进程,然后停止系统。这个命令比较快速,但是不会正常卸载文件系统或向用户发送关机通知。
  3. telinit 0 命令与 init 0 相似,也会将系统切换到运行级别0,但是它会先执行 /etc/init.d/rc 脚本,关闭所有服务并卸载文件系统,然后再停止系统。这个命令比较缓慢,但是会正常地关闭系统并向用户发送关机通知。

总之,如果您想要快速关闭系统,可以使用 init 0 命令。如果您想要正常地关闭系统并向用户发送关机通知,应该使用 shutdown -h nowtelinit 0 命令。

八、进程相关的命令

jps命令

显示当前系统的java进程情况,及其id号,jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。

示例:

1.列出当前系统中所有正在运行的Java进程的PID和主类的名称。

jps 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LG7hCZE2-1682037672352)(image-20230419205119828.png)]

2.显示完整的Java进程名和参数列表。

jps -l:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FQOXr5jd-1682037676169)(image-20230419205110881.png)]

3.显示启动时传递给main方法的参数。

jps -m

4.显示JVM启动时传递给JVM的参数。

jps -v 

5.仅显示进程ID,不显示主类名。

jps -q 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1ti4LHB7-1682037676170)(image-20230419205136372.png)]

6.将选项传递给JVM。

jps -Joption 

ps命令

用于将某个时间点的进程运行情况选取下来并输出,process的缩写

常用选项:

选项执行
-A所有的进程均显示出来
-a不与terminal有关的所有进程
-u有效用户的相关进程
-x一般与a参数一起使用,可列出较完整的信息
-l较长,较详细地将PID的信息列出

常用示例:

1.查看系统所有的进程数据

ps aux 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2PqFh1Ij-1682037676172)(image-20230419204931996.png)]

2.查看不与terminal有关的所有进程

ps ax 

3查看系统所有的进程数据

ps -lA 

4.查看连同一部分进程树状态

ps axjf 

kill命令

kill命令用于向进程发送信号。通常情况下,我们使用kill命令来终止(即杀死)一个进程,但实际上它可以用于向进程发送任何一种信号。

kill命令的基本语法如下:

kill [signal] PID

其中,signal表示要发送的信号类型,默认为SIGTERM(15),PID则是要接收该信号的进程ID。

以下是一些常用的信号类型及其含义:

  • HUP 1 终端断线
  • INT 2 中断(同 Ctrl + C)
  • QUIT 3 退出(同 Ctrl + \)
  • TERM 15 终止
  • KILL 9 强制终止
  • CONT 18 继续(与STOP相反, fg/bg命令)
  • STOP 19 暂停(同 Ctrl + Z)

以下是一些常用的选项及其含义:

  • -l:信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

  • -a:当处理当前进程时,不限制命令名和进程号的对应关系

  • -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号

  • -s:指定发送信号

  • -u:指定用户

常用示例

1:列出所有信号名称 命令:kill -l 输出:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v0LAMLIM-1682037676173)(image-20230419205608239.png)]

2:得到指定信号的数值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AnbsOUuK-1682037676174)(image-20230419205648706.png)]

3.强制终止进程

kill -9 PID

4.向多个进程发送信号

kill -signal PID1 PID2 ...

这条命令将会向指定的多个进程发送信号,可以同时杀死多个进程或者打断它们的运行。

killall命令

向一个命令启动的进程发送一个信号,用于杀死指定名字的进程

 killall [选项] [进程名]

其中,进程名 指定要杀死的进程的名称。如果没有指定信号,则默认发送 SIGTERM 信号。

一些常用选项包括:

  • -Z 只杀死拥有scontext 的进程
  • -e 要求匹配进程名称
  • -I 忽略小写
  • -g 杀死进程组而不是进程
  • -i 交互模式,杀死进程前先询问用户
  • -l 列出所有的已知信号名称
  • -q 不输出警告信息
  • -s 发送指定的信号
  • -v 报告信号是否成功发送
  • -w 等待进程死亡
  • –help 显示帮助信息
  • –version 显示版本显示

示例

1:杀死所有同名进程

  killall firefox

2.强制杀死所有同名进程

  killall -9 bash

3.向进程发送指定信号

  killall -TERM ngixn 或者 killall -KILL nginx

top命令

top 是一个用于监视系统进程的命令行工具。它可以实时地显示各个进程的 CPU 利用率、内存占用情况、进程 ID 等信息,非常适合于查找和终止耗费系统资源的进程。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vnmWzRvu-1682037676175)(image-20230420090436562.png)]

在这个列表中,每行代表一个进程,列出了该进程的进程 ID(PID)、所属用户、CPU 利用率、内存占用等信息。按照 CPU 利用率从高到低排列,可以使用 Shift + P 快捷键;按照内存占用情况从高到低排列,可以使用 Shift + M 快捷键。

一些常用的命令选项包括:

  • -d <秒数>:指定更新数据的时间间隔,默认为 3 秒。
  • -p <进程ID>:只显示指定进程 ID 的进程信息。
  • -u <用户名>:只显示指定用户名的进程信息。
  • -H:显示进程树,即以缩进形式展示进程之间的父子关系。
  • -i:不显示空闲进程(IDLE)。
  • -c:显示完整的命令行而不是仅仅显示进程名。

如何杀死进程:

(1)终端输入top进图图形化界面
(2)kill -9 pid (-9表示强制关闭)
(3)killall -9 程序的名字
(4)pkill 程序的名字

查看进程端口号:

netstat -tunlp|grep 端口号

九、其它

history命令

显示最近执行的命令历史记录。

history [options]

常用选项:

  • -c:清除历史记录。

常用示例:

1.显示最近执行的命令

使用 history 命令不带任何参数,可以显示最近执行的命令历史记录。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rK9J7Ukw-1682037676177)(image-20230420091312468.png)]

2.按照编号查找命令

每个命令在历史记录中都有一个编号,可以使用这个编号来查找特定的命令。例如,使用 !1249 命令可以运行历史记录中编号为 1249 的命令,如下所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NLiJtFQx-1682037676178)(image-20230420091425895.png)]

以上命令运行了历史记录中编号为 3 的命令 ls

3.搜索命令历史记录

使用 history 命令加上 grep 命令可以搜索历史记录中包含特定字符串的命令。例如,使用以下命令可以搜索包含字符串 ls 的命令:

history | grep ls

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cb28fmfN-1682037676179)(image-20230420091535256.png)]

以上命令将显示历史记录中包含字符串 ls 的命令,即 ls 命令。

4.清除命令历史记录

使用 history 命令加上 -c 参数可以清空命令历史记录。例如:

history -c

以上命令将清空历史记录中所有的命令。

man命令

man 是一种用来查看命令手册页的工具。手册页包含了关于命令的详细说明、参数、示例以及其他有用的信息。

常用示例:

1.查看命令手册页

使用 man 命令后跟命令名,即可查看该命令的手册页。例如,以下命令可以查看 ls 命令的手册页:

man man

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SaRN3fCw-1682037676179)(image-20230420094040710.png)]

手册页将会在终端上显示。

2.搜索手册页

使用 man 命令后跟 -k 参数和关键字,可以搜索包含该关键字的所有手册页。例如,以下命令可以搜索包含字符串 network 的所有手册页:

man -k network

命令将输出所有包含字符串 network 的手册页的摘要信息。

sudo命令

sudo 是一种用来以超级用户(root)身份执行命令的工具。使用 sudo 命令可以避免在使用 root 用户身份登录时操作系统安全性的风险。

常用示例:

1.执行单个命令

使用 sudo 命令后跟需要执行的命令即可以 root 身份执行该命令。例如,以下命令可以以 root 身份创建一个名为 testfile 的文件:

sudo touch testfile

2.切换到 root 用户

使用 sudo -i命令或者su 命令可以切换到 root 用户。该命令将打开一个新的 shell 窗口,并将当前用户切换为 root 用户。例如:

sudo -i

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LSYRFZag-1682037676180)(image-20230420094314398.png)]

这里输入密码,密码不可见,即可切换到root用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kN9Skudc-1682037676181)(image-20230420094341121.png)]

3.以其他用户身份执行命令

使用 sudo -u 命令可以以指定用户的身份执行命令。例如,以下命令可以以 user1 用户的身份查看 /var/log/messages 文件:

sudo -u user1 less /var/log/messages

4.查看 sudo 命令的配置

使用 sudo -V 命令可以查看当前系统中已经配置的 sudo 命令的版本和配置信息。

sudo -V

该命令将输出当前系统中 sudo 命令的版本和已配置的参数信息。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VvczxJKf-1682037676182)(image-20230420094607654.png)]

5.退出root用户

在终端中输入exit即可退出root用户

exit

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-evR7940K-1682037676182)(image-20230420094820201.png)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/442737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JUC】volatile和JMM

【JUC】volatile和JMM 文章目录 【JUC】volatile和JMM1. volatile1.1 特点1.2 内存语义 2. 内存屏障2.1 分类2.2 什么叫保证有序性&#xff1f;2.3 内存屏障的4种插入策略 3. volatile特性3.1 保证可见性3.2 volatile读写过程3.3 没有原子性3.4 指令禁重排(有序性) 4. 正确使用…

python标识符概念及规范

在python中 能取名字的东西非常非常多 例如 我们之前学的变量 以及后面要接触的 函数 类&#xff0c;等等&#xff0c;等等 而我们给这些取的名字 被统称为 标识符 而 python中 标识符的命名也是有限制的 主要有三种 1 内容限定 2 大小写铭感 3 不能使用关键字 内容限定来讲…

leetcode6_N字形变换

如有错误&#xff0c;感谢不吝赐教、交流 leetcode6 题目描述 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时&#xff0c;排列如下&#xff1a; P A H N A P L S I…

HTB-SecNotes

HTB-SecNotes 信息收集8808端口80端口通过CSRF获取通过二次注入 立足tyler -> administrator 信息收集 8808端口 Windows IIS 10.0 可以从官方文档查看10.0版本可能的操作系统。 80端口 通过CSRF获取 目录扫描发现需要登陆后继续进一步操作啊。 对其进行简单的SQL注入测…

数据库基础篇 《7.单行函数》

目录 1. 函数的理解 1.1 什么是函数 1.2 不同DBMS函数的差异 ​编辑1.3 MySQL的内置函数及分类 ​编辑 2. 数值函数 2.1 基本函数 ​编辑 2.2 角度与弧度互换函数 2.3 三角函数 ​编辑 2.4 指数与对数 ​编辑 2.5 进制间的转换 ​编辑3. 字符串函数 ​编辑…

SAM(segment anything model)分割一切 Demo测试及API调用

SAM 分割一切 一&#xff0c;SAM介绍1.1 介绍1.2 项目链接 二&#xff0c;Demo-Test&#xff1a;2.1 Demo功能介绍2.1.1&#xff0c;首页就是这个SAM&#xff0c;点击try demo&#xff0c;可以选择它的自带图片&#xff0c;也可以自己添加。2.1.2 , 自己上传图片测试&#xff1…

[java基础]面向对象(五)

访问控制修饰符&#xff1a;--------------保护数据的安全(隐藏数据、暴露行为)&#xff0c;实现封装 public&#xff1a;公开的&#xff0c;任何类 private&#xff1a;私有的&#xff0c;本类 protected&#xff1a;受保护的&#xff0c;本类、派生类、同包类 默认的&…

learn_C_deep_3 (最名不符实的关键字 - static、static关键字总结、基本数据类型、最冤枉的关键字 - sizeof)

目录 最名不符实的关键字 - static stati修饰全局变量和函数 static修饰局部变量 static关键字总结 几个问题 1.c语言要设置全局变量和函数可以跨文件使用的原因 2.C程序地址空间是什么样的&#xff1f; 3.局部变量为什么具有临时性 4.全局变量为什么具有全局性 5.为…

vue-cli版本号始终是2.9.6,且无法删除,安装更新无效的问题。

参考博客 目录 1.问题出现原因2.我的解决办法&#xff1a;删除原脚手架&删除原vuevue.cmd 1.问题出现原因 从各种博客我得知&#xff0c;这种问题出现在2处&#xff1a; 没有卸载原来的脚手架原来的vue和vue.cmd没删除干净 2.我的解决办法&#xff1a;删除原脚手架&…

[oeasy]python0135_命名惯用法_name_convention

命名惯用法 回忆上次内容 上次 了解了isidentifier的细节 关于 关键字关于 下划线 如何查询 变量所指向的地址&#xff1f; id 如何查询 已有的各种变量&#xff1f; locals 如果 用一个变量a的值 给另一个变量b 赋值是什么样的过程 呢&#xff1f;&#xff1f;&#x1f914;…

当,Kotlin Flow与Channel相逢

前言 之前的文章已经分析了Flow的相关原理与简单使用&#xff0c;Flow之所以用起来香&#xff0c;Flow便捷的操作符功不可没&#xff0c;而想要熟练使用更复杂的操作符&#xff0c;那么需要厘清Flow和Channel的关系。 本篇文章构成&#xff1a; 1. Flow与Channel 对比 1.1 Fl…

AVL树(C++实现)

文章目录 AVL树的概念AVL树结点定义AVL树的插入AVL树的旋转左单旋右单旋左右单旋右左双旋 AVL树的验证AVL树的性能AVL树及测试完整代码 AVL树的概念 二叉搜索树虽然可以缩短查找的效率,但如果数据有序或接近有序,那么二叉搜索树将退化为单支树,查找元素则相当于在顺序表中搜索…

从零手写Resnet50实战——利用 torch 识别出了虎猫和萨摩耶

大家好啊&#xff0c;我是董董灿。 自从前几天手写了一个慢速卷积之后&#xff08;从零手写Resnet50实战—手写龟速卷积&#xff09;&#xff0c;我便一口气将 Resnet50 中剩下的算法都写完了。 然后&#xff0c;暴力的&#xff0c;按照 Resnet50 的结构&#xff0c;将手写的…

【Flowable】Flowable基础表结构

1.表结构讲解 表结构创建文件&#xff1a;flowable-engine-6.3.0.jar!\org\flowable\db\create\flowable.mysql.create.engine.sql 工作流程的相关操作都是操作存储在对应的表结构中&#xff0c;为了能更好的弄清楚Flowable的实现原理和细节&#xff0c;我们有必要先弄清楚Fl…

Python边缘检测之prewitt, sobel, laplace算子

文章目录 滤波算子简介具体实现测试 滤波算子简介 ndimage中提供了卷积算法&#xff0c;并且建立在卷积之上&#xff0c;提供了三种边缘检测的滤波方案&#xff1a;prewitt, sobel以及laplace。 在convolve中列举了一个用于边缘检测的滤波算子&#xff0c;统一维度后&#xf…

es6 const的使用

1.const用来定义常量&#xff0c;赋值知乎不能再赋值&#xff0c;再次赋值会报错。 <script>//1.定义常量&#xff0c;赋值后不能再赋值&#xff0c;在赋值报错const count 1// count 2</script> ​ 2.const不能只声明不赋值&#xff0c;会报错。 <script>…

智能学习 | MATLAB实现CS-BP多变量时间序列预测(布谷鸟搜索算法优化BP神经网络)

智能学习 | MATLAB实现CS-BP多变量时间序列预测(布谷鸟搜索算法优化BP神经网络) 目录 智能学习 | MATLAB实现CS-BP多变量时间序列预测(布谷鸟搜索算法优化BP神经网络)预测效果基本介绍程序设计参考资料预测效果 基本介绍 MATLAB实现CS-BP多变量时间序列预测(布谷鸟搜索算法…

chatGPT衣食住行10种场景系列教程(01)chatGPT热点事件+开发利器

导读 时隔5个多月&#xff0c;chatGPT可谓是一日千里&#xff0c;越演越火&#xff0c;携带着AIGC行业一起飞了起来&#xff0c;那么在短短5个月当中有那些值得我们关注的事件&#xff1f;有那些好玩的场景&#xff1f;以及有那些chatGPT好用的工具&#xff1f;本文都将一一告…

大数据时代必备技能,学好数据可视化

互联网时代&#xff0c;都在强调数据分析的重要性&#xff0c;但是干巴巴的数据没人爱看&#xff0c;老板们对“简单直观地看数据”的需求愈发强烈。随着大数据建设的如火如荼&#xff0c;别讲底层技术和算法牛逼&#xff0c;最终的效率提升、业绩提升要通过数据展示出来&#…