Linux入门篇-作业(jobs)调度(本质仍然是进程)
简介
①前台进程(front process)运行在用户眼前的进程就是前台进程,当用户眼前运行一个前台进程时,如果想运行其他进程,必须关闭当前前台进程,或者将该前台进程放到后台(backgrand process)运行。②后台进程后台进程不会影响用户当前shell运行其他进程。并不是所有的进程都能作为后台进程运行在后台的。(比如说top命令)如何判断一个进程到底应不应该放在后台运行呢?1.运行时间较长,用户不想在前台等待,该进程可以运行结束2.服务(service)进程,用户想永远让其处于运行状态
[root@RHCSA-EXAM ~]# cat &
[1] 11825
[root@RHCSA-EXAM ~]#
[1]+ Stopped cat
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]# jobs
[1]+ Stopped cat
jobs命令是一个阉割版本的ps,只能查看当前shell运行的后台进程。通过jobs来管理后台进程。
jobs功能有限,管理范围有限。
jobs管理后台进程,也是使用kill命令,只不过,kill命令本身也可以向job id发送相应的信号。
[root@RHCSA-EXAM ~]# jobs
[1]+ Stopped cat
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]# kill %1
[root@RHCSA-EXAM ~]#
[1]+ Terminated cat
[root@RHCSA-EXAM ~]# jobs
[root@RHCSA-EXAM ~]#
前台进程和后台进程之间的转换
当前台进程运行时,可以使用ctrl+c停止该进程,也可以使用ctrl+z将该进程放到后台,注意,当一
个进程由前台切换到后台时(ctrl+z),那么该进程的状态就会变成stop,如果你想继续运行该进
程,需要使用kill命令发送让该进程继续运行的信号。
[root@RHCSA-EXAM ~]# jobs
[1]+ Stopped dd if=/dev/zero of=/root/50G bs=1M count=50000
[root@RHCSA-EXAM ~]# bg %1
[1]+ dd if=/dev/zero of=/root/50G bs=1M count=50000 &
[root@RHCSA-EXAM ~]# jobs调整进程的优先级
[1]+ Running dd if=/dev/zero of=/root/50G bs=1M count=50000
&
[root@RHCSA-EXAM ~]# fg %1
dd if=/dev/zero of=/root/50G bs=1M count=50000 调整进程的优先级
4 core,最大允许4个进程同时使用100%的cpu
假如说有5个进程需要运行,且该5个进程都需要占用100%的cpu,如果你觉得哪个进程更需要快速运行
结束,那么就调整这个进程的优先级。
①运行进程的时候就指定优先级
②调整一个已经运行进程的优先级
[root@RHCSA-EXAM ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E5-2695 v2 @ 2.40GHz
Stepping: 4
CPU MHz: 2400.000
BogoMIPS: 4800.00
Virtualization: VT-x
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 30720K
NUMA node0 CPU(s): 0-3
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm
constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc
cpuid pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt
tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cpuid_fault
pti ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep
arat flush_l1d arch_capabilities
[root@RHCSA-EXAM ~]# nice -n 10 cat /dev/zero >> /dev/null &
[7] 17443
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]# renice -n -30 17443
17443 (process ID) old priority 10, new priority -20
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]#
服务管理(不好讲)
服务就是进程,进程不一定是服务
服务是具备一定功能的进程,但是有些进程并不具备服务的特征,所以服务一定是进程,但是进程不一
定是服务。
服务也是进程,就意味着服务也享受着之前学习过的进程的概念。
Linux里面的第一个进程,是整个系统的父进程。
在RHEL6版本之前,包括RHEL6,采用的第一个进程叫做init。第一个进程非常重要,因为第一个进程
要负责后面所有其他进程的启动,后面其他进程能否启动成功取决于系统能不能正常运行。
init有问题,通过init进程启动的后续进程都是串行启动的,串行启动就意味着速度慢。
在RHEL7版本,采用第一个进程叫做systemd。该进程相比如init来说,采用并行方式启动后续进程,
并行启动就意味着速度快。
systemd管理服务操作
[root@RHCSA-EXAM ~]# renice -n -40 17443
17443 (process ID) old priority -20, new priority -20
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]# killall cat 服务管理
服务就是进程,进程不一定是服务服务是具备一定功能的进程,但是有些进程并不具备服务的特征,所以服务一定是进程,但是进程不一定是服务。服务也是进程,就意味着服务也享受着之前学习过的进程的概念。Linux里面的第一个进程,是整个系统的父进程。在RHEL6版本之前,包括RHEL6,采用的第一个进程叫做init。第一个进程非常重要,因为第一个进程要负责后面所有其他进程的启动,后面其他进程能否启动成功取决于系统能不能正常运行。init有问题,通过init进程启动的后续进程都是串行启动的,串行启动就意味着速度慢。在RHEL7版本,采用第一个进程叫做systemd。该进程相比如init来说,采用并行方式启动后续进程,并行启动就意味着速度快。
systemd管理服务操作
基本上相对较新版本的Linux发行版都支持systemd管理网络服务,ubuntu16.04,rhel7,
suse,opensuse,debian。
systemd管理的内容不仅仅有service,systemd管理的单位是unit,service只是unit中的一
种。
[root@RHCSA-EXAM ~]# systemctl list-units
[root@RHCSA-EXAM ~]# systemctl list-unit-files
我们的课程涉及的unit,只有service和target
systemd管理service
[root@RHCSA-EXAM ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service;
enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-04-22 09:17:42 CST; 13h ago
Docs: man:NetworkManager(8)
Main PID: 1073 (NetworkManager)
Tasks: 3 (limit: 26213)
Memory: 13.3M
CGroup: /system.slice/NetworkManager.service
└─1073 /usr/sbin/NetworkManager --no-daemon
systemctl status service
[root@RHCSA-EXAM ~]# systemctl status NetworkManager.service
查看服务的状态
[root@RHCSA-EXAM ~]# systemctl stop NetworkManager
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service;
enabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2020-04-22 22:42:05 CST; 7s ago
Docs: man:NetworkManager(8)
Process: 1073 ExecStart=/usr/sbin/NetworkManager --no-daemon
(code=exited, status=0/SUCCESS)
Main PID: 1073 (code=exited, status=0/SUCCESS)
[root@RHCSA-EXAM ~]# systemctl start NetworkManager
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service;
enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-04-22 22:42:55 CST; 4s ago
Docs: man:NetworkManager(8)
Main PID: 29235 (NetworkManager)
Tasks: 4 (limit: 26213)
Memory: 8.0M
CGroup: /system.slice/NetworkManager.service
└─29235 /usr/sbin/NetworkManager --no-daemon
[root@RHCSA-EXAM ~]# systemctl restart NetworkManager
[root@RHCSA-EXAM ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service;
enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-04-22 22:43:42 CST; 5s ago
Docs: man:NetworkManager(8)
Main PID: 29421 (NetworkManager)
Tasks: 4 (limit: 26213)
Memory: 4.4M
CGroup: /system.slice/NetworkManager.service
└─29421 /usr/sbin/NetworkManager --no-daemon
[root@RHCSA-EXAM ~]# systemctl disable NetworkManager
Removed /etc/systemd/system/multiuser.target.wants/NetworkManager.service.
Removed /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed /etc/systemd/system/network-online.target.wants/NetworkManagerwait-online.service.
[root@RHCSA-EXAM ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service;
disabled; vendor preset: enabled)
Active: active (running) since Wed 2020-04-22 22:43:42 CST; 2min 57s
ago
Docs: man:NetworkManager(8)
Main PID: 29421 (NetworkManager)
Tasks: 3 (limit: 26213)
Memory: 4.3M
CGroup: /system.slice/NetworkManager.service
└─29421 /usr/sbin/NetworkManager --no-daemon
[root@RHCSA-EXAM ~]# systemctl enable NetworkManager
Created symlink /etc/systemd/system/dbusorg.freedesktop.NetworkManager.service →
/usr/lib/systemd/system/NetworkManager.service.
Created symlink /etc/systemd/system/multiuser.target.wants/NetworkManager.service →
/usr/lib/systemd/system/NetworkManager.service.
Created symlink /etc/systemd/system/dbus-org.freedesktop.nmdispatcher.service → /usr/lib/systemd/system/NetworkManagerdispatcher.service.
Created symlink /etc/systemd/system/networkonline.target.wants/NetworkManager-wait-online.service →
/usr/lib/systemd/system/NetworkManager-wait-online.service.
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service;
enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-04-22 22:43:42 CST; 3min 23s
ago
Docs: man:NetworkManager(8)
Main PID: 29421 (NetworkManager)
Tasks: 3 (limit: 26213)
Memory: 4.3M
CGroup: /system.slice/NetworkManager.service
└─29421 /usr/sbin/NetworkManager --no-daemon
systemd管理target
[root@RHCSA-EXAM ~]# systemctl is-active NetworkManager
active
[root@RHCSA-EXAM ~]# systemctl is-enabled NetworkManager
enabled
[root@RHCSA-EXAM ~]# systemctl stop NetworkManager
[root@RHCSA-EXAM ~]# systemctl disable NetworkManager
[root@RHCSA-EXAM ~]# systemctl is-active NetworkManager
inactive
[root@RHCSA-EXAM ~]# systemctl is-enabled NetworkManager
disabled
systemd管理target
需要了解的只是target的含义。target是由服务组成的一类启动目标,systemd可以设置启
动目标,如果systemd指定了一个target作为启动目录,那么下次系统启动的时候就会启动target里
面的所有服务。
我们需要了解的target有两个,一个是multi-user.target,一个是graphical.target。
multi-user.target就是字符界面的Linux系统
graphical.target就是图形界面的Linux系统
[root@RHCSA-EXAM ~]# systemctl isolate multi-user.target
临时切换到字符界面
如果你的系统安装了图形界面,你切换到字符界面,你按ctrl+alt+F1~F6
[root@RHCSA-EXAM ~]# systemctl isolate graphical.target
临时切换到图形界面
[root@RHCSA-EXAM ~]# systemctl get-default
graphical.target
查看下次开机启动加载哪个target
[root@RHCSA-EXAM ~]# systemctl set-default multi-user.target
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target →
/usr/lib/systemd/system/multi-user.target.
修改下次开机启动的target
[root@RHCSA-EXAM ~]#
[root@RHCSA-EXAM ~]# systemctl get-default
multi-user.target
[root@RHCSA-EXAM ~]# systemctl set-default graphical.target
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target →
/usr/lib/systemd/system/graphical.target.
[root@RHCSA-EXAM ~]# systemctl get-default
graphical.target
相关文章:
Linux入门篇-作业(jobs)调度(本质仍然是进程)
简介 之所以叫做作业调度,作业是以shell为单位的,一个shell建立的作业,不会被另外一个shell看到(包 括root),但是仍然可以看到作业对应的进程。①前台进程(front process) 运行在用户…...
vue 监听 取消监听
vue 的 watch 除了可以使用声明式的配置项以外,还可以通过命令式 this.$watch 方法。 如下是我们比较少用的命令式(想要初始只监听一次,必须命令式写法): 监听只运行一次 声明式 export default{data: {showType: fa…...
0103深度优先搜索和单点连通-无向图-数据结构和算法(Java)
文章目录1.1 走迷宫1.2 图的深度优先搜索实现1.3 算法分析及性能1. 4 单点连通性后记1.1 走迷宫 简单的迷宫,如下图1.1-1所示: 探索迷宫而不迷路,我们需要: 选择一条没有标记过的通道,在你走过的路上铺一条绳子&…...
进销存管理系统
技术:Java等摘要:进销存管理系统是为了实现企业仓库商品管理的系统化、规范化和自动化,从而提高企业管理效率而设计开发的管理信息系统。它完全取代了过去一直用人工管理的工作方式,避免了由于管理人员手工操作上的疏忽以及管理质…...
Sonar:VSCode配置SonarLint/SonarLint连接SonarQube
需求描述 公司为项目代码配置了Sonar检测,希望在VSCode中开发项目时能够同步检测结果。 注意事项 SonarQube版本必须为7.9,否则SonarLint无法连接(GitHub-SonarLint-Wiki第一行就有说明)!!!S…...
陀螺仪小车(Forerake-Car)
项目简介:搭建一辆有arduino UNO 与rnf24l01组成的小车;手部安装由arduino nano开发板、nrf24l01、imu构成的手势控制器,利用手势控制器检测手部状态、发送信号对小车进行前进,实现基于卡尔曼滤波的MPU6050姿态结算。 准备工作&am…...
Leetcode Day5 含有重复元素集合的组合+
1、含有重复元素集合的组合 给定一个可能有重复数字的整数数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次,解集不能包含重复的组合。 【题目传送门】 思…...
Mac Book pro(M1)使用总结
1、拿到电脑激活的时候,一定要记住账号密码及安全问题的答案。 2、显示隐藏文件夹: 3、显示.git或者gitignore等隐藏后缀的文件: 打开终端 defaults write com.apple.finder AppleShowAllFiles TRUE重启Finder在终端输入 killall Finder …...
QML集成JavaScript
在QML中可以使用现有的QML元素来创建页面,但QML紧密的集成了必要的JavaScript。 但QML中使用JavaScript比较严格,在QML中不可以添加或修改JavaScript全局对象成员,这样可能会使用一个未经声明的变量。 内联JavaScript 一些小型的JavaScript函…...
学习周报3.5
文章目录前言文献阅读摘要介绍方法总结相关性总结前言 本周阅读文献《Multi-step ahead probabilistic forecasting of multiple hydrological》,文献主要提出一种基于三维卷积神经网络、卷积最小门记忆神经网络和变分贝叶斯神经网络的混合深度学习模型(…...
java基础学习篇
java学习 多写(代码、笔记、文章),多练(交流、思维、技能),多分享,多提问、多思考 什么是计算机 由硬件和软件组成,广泛应用在科学计算、数据处理、自动控制,计算机辅…...
Go 语言基础语法及应用实践
Go语言是一门由Google开发的静态类型、编译型的开源编程语言,被设计成简单、高效、安全的语言。作为一门相对年轻的语言,Go语言的使用范围正在不断扩大,特别是在Web开发、云计算、容器化和分布式系统等领域越来越受到欢迎。 在本篇文章中,我们将探讨Go语言的基础语法及应用…...
C语言自定义类型---进阶
之前的文章中有结构体初阶知识的讲解,对结构体不是很了解的小伙伴可以先去去看一下结构体初阶 结构体,枚举,联合结构体结构体类型的声明特殊的声明结构的自引用结构体变量的定义和初始化结构体内存对齐 <3 <3 <3(重点)那为什么存在内…...
85.链表总结
链表总结 链表总结与进阶 抽象数据类型(ADT abstract data type)与抽象数据接口(ADI abstract data Interface) 链表实际上就是对于结构体、结构体指针和结构体内可以包含指向同类型的结构体指针不可以包含指向同类型的结构体的应…...
【博学谷学习记录】超强总结,用心分享|狂野大数据课程【DataFrame的相关API】的总结分析
操作dataFrame一般有二种操作的方式, 一种为SQL方式, 另一种为DSL方式 SQL方式: 通过编写SQL语句完成统计分析操作DSL方式: 领域特定语言 指的通过DF的特有API完成计算操作(通过代码形式)从使用角度来说: SQL可能更加的方便一些, 当适应了DSL写法后, 你会发现DSL要比SQL更加…...
粒子群优化最小二乘支持向量机SVM回归分析,pso-lssvm回归预测
目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 SVM应用实例,粒子群优化最小二乘支持向量机SVM回归分析 代码 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大…...
lavis多模态开源框架学习--安装
安装lavis安装lavis测试安装问题过程中的其他操作安装lavis 因为lavis已经发布在pypi中,所以可以直接利用pip安装 pip install salesforce-lavis测试安装 from lavis.models import model_zoo print(model_zoo) # # Architectures Types # # …...
【IDEA】如何在Tomcat上创建部署第一个Web项目?
看了网上很多教程,发现或多或都缺失了一些关键步骤信息,对于新手小白很不友好,那么今天就教大家如何在Tomcat服务器(本地)上部署我们的第一个Web项目: 共分为三个部分: 1. IDEA创建Web项目&am…...
程序员画流程图的工具Draw.io
Draw.io 是一个很好用的免费流程图绘制工具,制图结果本质上是xml文件,web版和桌面版可以支持导出图像(png或者svg矢量图都可以)。你可以利用它绘制一系列的图表、图示或图形,包括流程图、UML类图、组织结构图、泳道图、E-R 图、文…...
CAPL脚本DBLookup函数动态访问CAN 报文的属性
🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
