Ubuntu系统进程管理笔记

前言

今天对前端服务器进行迁移,本来前端服务器就一台,都是放置前端静态文件的地方,应该是比较简单的。唯一的问题是由于Nginx需要给ie8浏览器个i同https访问支持,不得不对Nginx进行重新编译。编译完成后想启动一下服务,才发现没有systemctl,于是使用service命令,奇怪的是service命令无法居然无法识别nginx服务。经过一番折腾终于解决了问题。
以前这些命令一直是拿来就用,没什么深究,只有遇到了问题才知道基础的重要性。下面就对这些东西做个简单的记录。

进程管理工具

Linux进程管理常用的工具有service、systemctl、update-rc.d等。其中越来越多的发行版使用systemctl作为程序的的管理工具。问题就在于今天我所使用的Ubuntu版本是14.04,也就是还没有把systemctl作为默认的软件启动管理工具。systemctl是15.0x之后的版本才作为自带的进程管理工具的。

SysV/Upstart/systemd是什么

简单的说,他们是系统初始化时的第一个进程,也就是pid为1的进程,可以通过ps -p 1 命令来检测。

$ ps -p 1

如显示的数据类似于:

PID TTY          TIME CMD
    1 ?        00:00:02 systemd

若显示systemd则为systemd,显示init则为Upstart。

在第一个进程启动之后,这个进程负责启动其它设置了开机自启动的进程。这就带出了一个概念,这些开机自启或者不自启的信息存放在哪里?

在Ubuntu系统中,通过SysV管理的进程启动信息放在/etc/init.d/文件夹中,里面的文件实际上是一些shell脚本,运行这些脚本就能启动或停止这些进程。而它对应的管理工具就是update-rc.d命令。
例如要启动nginx服务,可以通过sudo update-rc.d nginx enable实现。

通过Upstart管理的进程启动信息放在/etc/init文件夹中,其中都是.conf后缀的配置文件,与其对应的命令行管理工具是initctl。我们可以通过在/etc/init中编写相应的配置文件达到启动服务的目的。

通过systemd管理的进程启动信息放在/etc/systemd/system 、 /lib/systemd/system、/var/lib/systemd 几个文件夹中,例如通过命令locate nginx.service就会得到以下的位置信息:

/etc/systemd/system/multi-user.target.wants/nginx.service
/lib/systemd/system/nginx.service
/var/lib/systemd/deb-systemd-helper-enabled/nginx.service.dsh-also
/var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/nginx.service

配套的命令行工具是systemctl。可以通过命令 sudo systemctl enable nginx.service 将服务加到开机自启动中。需要注意的是如果不是软件安装时生成的.service文件,而是自己在上述位置写相应的文件的话,需要使用systemctl daemon-reload命令重新加载新的脚本才能使用。

另一个有用的命令是service,它兼容了update-rc.d和initctl命令的功能,两种启动方式都能使用。常用命令例如service nginx status。

每台Linux服务器只能有一个系统初始化软件,从历史上说先有SysV,到Upstart,再到systemd。比较新版的Linux发行版很多都以systemd作为初始化管理软件。

systemd是在Ubuntu15.04才开始作为默认初始化程序的。

参考:
https://www.techforgeek.info/enable_disable_service_on_ubuntu.html
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1416728
https://segmentfault.com/a/1190000009723940
https://stackoverflow.com/questions/7646972/nginx-invalid-pid-number
https://gist.github.com/AJMaxwell/f6793605068813aae888216b02364d85
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

转载于:https://www.cnblogs.com/zhangjpn/p/9175568.html

ansible-role-systemd_helper:用于systemd的部署设置的帮助程序 ansible-systemd_helper 允许定义systemd: ; ; 通过设置时区; 支持; 通过设置控制台设置 支持; 支持; 支持; 要求 Ansible 3.0.0+; 额外的 日记账期权不进行验证,而是按原样传递。 有关所有可能的选项,请查询man journald.conf(5) ; 通过实时执行来验证tmpfile(在线应用设置); 通过外部脚本验证的udev规则语法; 网络地址声明可能很简单且很复杂: 简单:仅仅是一个或多个地址和网关: systemd_networkd : - interfaces : - interface : ' eth0 ' type : ' ether ' physaddr : ' 18:66:da:e6:be:88 ' address : ' 10.10.10.2/24 ' 立即下载

相关推荐

affymatrix探针转换 | GPL5175探针对应的基因转换

一般情况下,有一些比较成熟的对应平台的注释数据集的R包。但是这个注释平台,我在Bioconductor上找了一圈都没有找到。只能通过最原始也最可靠的方法,从GEO数据集上去下载这部分的注释文件。以下展示全过程。 我要检查的数据平台是:GPL5157。 数据集的注释集链接为:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL5175 这个注释数据集比较难弄的地方在于,它的基因集注释的不太好。没有比较直接的可供提取的genesample的信息;在ge.

weixin_40640700的博客 7124

Deepin15安装包抽风问题

Deepin15安装包抽风问题

一个程序员的博客 505

告别CAPL编程!用Matlab/Simulink+CANoe实现复杂ECU仿真的5个技巧

本文介绍了如何利用Matlab/Simulink与CANoe进行联合仿真,以替代复杂的CAPL编程,高效实现复杂ECU仿真。文章分享了5个核心技巧,涵盖信号映射、模型编译集成、实时参数调整、性能优化及数据分析,帮助算法工程师构建稳定强大的仿真环境,显著提升开发与测试效率。

rgv234567的博客 297

zynqmp 黑金 --- [ubuntu] cups-dameon 报错问题解决

问题描述: 系统是ubuntu16.04不知名魔改版到arm64板子上的。出现了cups-dameon的问题。 root@ubuntu:/etc/apt# apt-get -f install Reading package lists… Done Building dependency tree Reading state information… Done Correcting dependencies… Done The following additional packages will be in

Nyiragongo的博客 522

拆开华为BBU5900,看看5G基站的大脑里到底装了啥?

本文深度拆解华为BBU5900,揭示5G基站核心处理单元的硬件架构与设计哲学。通过详细解析模块化设计、智能电源系统和动态散热方案,展现其支撑千兆速率、毫秒级时延的技术奥秘,为5G网络部署提供实用参考。

weixin_31456563的博客 563

2023-10-20 - MacBook - 优化外接2k显示器体验:告别字小与字虚的终极指南

本文针对MacBook外接2K显示器时普遍遇到的字体过小和边缘发虚问题,提供了终极解决方案。通过深入解析macOS的HiDPI与Retina显示原理,并详细指导使用SwitchResX等工具开启隐藏的HiDPI模式,实现完美的2倍整数缩放,从而在保证字体大小合适的同时获得清晰锐利的显示效果,彻底告别字小与字虚的困扰。

solidity8miner的博客 477

千锋Shell学习--基础知识

Shell 学习 1. $? 返回0,代表上一行代码执行成功。 访问非0,代表上一行代码执行失败。 #ping.sh ping -c1 www.baidu.com &>/dev/null && echo "www.baidu.com is up" ||echo "www.baidu.com is down!" && 如果?=0执行∣∣如果?=0 执行 || 如果?=0执行∣∣如果?!=0 执行 2. Shell重定向 0 表示标准输入 1 表示

weixin_43405242的博客 573

手把手教你排查Abaqus中的Johnson-Cook损伤参数:避免因d3正负号导致的仿真失败

本文详细解析了Abaqus中Johnson-Cook损伤参数d3正负号设置的关键问题,帮助用户避免因参数错误导致的仿真失败和Excessive distortion报错。通过对比不同文献定义、提供实操指南和典型错误排查流程,有效提升非线性分析的准确性和效率。

weixin_33960567的博客 356

systemd 初探

【代码】systemd 初探。

u011011827的博客 171

第一部分:VTK基础入门(第1章:VTK简介与概述)

VTK简介与核心特性概述 VTK(Visualization Toolkit)是一个开源的跨平台C++类库,专用于3D计算机图形学、图像处理和科学可视化。由Kitware公司开发,VTK自1993年起源以来,经历了开源化、成熟化和现代化多个发展阶段,现已成为科学可视化的核心工具之一。 VTK的核心特性包括: 管道架构:模块化设计实现数据流管理 丰富的数据支持:处理多边形数据、图像数据等 强大的渲染能力:集成OpenGL,支持多种渲染技术 最新版本VTK 9.4.2增强了现代C++支持,优化了内存管理,并提升

仰望星空的博客 2362

若依开源系统多数据源整合clickhouse数据库详细步骤

若依开源系统多数据源整合clickhouse数据库详细步骤

java之书-资源 897

【Linux服务管理】

deb为后缀,debian系列操作系统(debian,Ubuntu,kali)主要的软件包封装格式,已经做好默认设置,如安装路径,配置文件存放路径等,需要手动的解决依赖关系。.rpm为后缀,红帽系列操作系统(RedHat,CentOS,OpenSUSE)主要的软件包封装格式,已经做好默认设置,如安装路径,配置文件存放路径,需要手动的解决依赖关系。配置【如,安装路径,配置文件路径,运行用户,运行组,功能模块】--->编译--->安装;enabled=1 是否使用该源,0表示不使用,1表示使用。

很神秘的博客 524

【华为OD技术面试手撕真题】3、小行星碰撞 | 手撕真题+思路参考+代码解析(C & C++ & Java & Python & JS)

小行星碰撞,本专栏更新每年华为OD机试的高频手撕代码题,每个题目都会使用五种语言进行解答(C & C++& Java & Python & JS),思路分析都非常详细, 实现最低的时间复杂度和高通过率,每个解题思路超过百字,内含各个编程语言的八股文面试题,欢迎大家订阅学习, 代码可以直接运行使用,全网限时最低价,持续更新

KJ.JK 8171

学习笔记——Linux操作基础

使用 ll 命令可以查看文件所有的权限,其中最前面9个字符为权限值,例如 rwxrwxr-x ,三个一组来看,分别代表文件拥有者权限,组用户权限,其他用户权限,其中r表示读权限,w代表写权限,x代表运行权限。rm -rf :强制删除文件 rm -rf ./* :强制删除当前目录下所有文件 rm -rf /* :强制删除目录下所有文件(高危指令,执行后会删除磁盘内所有文件,请理性使用)·cp :文件复制 cp 文件名 目标目录:将文件复制到指定位置。

2301_79859713的博客 333

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

linux基础学习,有相应的笔记文件XMind和Word(基于centos8(主要的)和Ubuntu20),里面有linux基本操作指令和JavaEE,大数据相关的shell。2021年4月26日

前面的话 这篇文章是我学习linux的一个记录,我是用XMind记笔记的,然后转换为Word最后粘贴到这里的,如果感兴趣的话,可以下载我上传的文件,都是免费的,大家共同学习,如果有什么错误,或者意见还希望大家可以提出来。 这个linux基础学习产生的笔记(基于centos8(主要的)和Ubuntu20),里面有linux基本操作指令和JavaEE,大数据相关的shell。JavaEE中包含了JDK的安装和卸载,Tomcat,eclipse,MySQL。 2021年4月26日 文件下载链接(等今天上传的链接.

qq_43987149的博客 1337

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

青梅煮酒Linux常用命令

Shell有自己的编程语言用于对命令的编辑。TERM信号将终止所有不能捕获该信号的进程,而可以捕获该信号的进程,则序号使用kill9信号,该信号是不能被捕捉的。YUM基于RPM包管理工具,能够从指定的源空间自动下载目标RPM包并且安装,可以自动处理依赖关系并进行下载和安装,无需繁琐的手动下载和安装每一个需要的依赖包。内核是系统的心脏,是运行程序和管理磁盘和打印机等硬件设备的核心程序,它从用户那里接受命令并把命令送给内核去执行。专门的程序,如编辑器,执行标准计算操作的计算器等,用户也可产生自己的工具。

weixin_45279374的博客 923

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Ubuntu系统进程管理

在Ubuntu系统中,进程管理是系统维护和性能调优的重要部分。:启动时设置优先级(范围:-20高优先级 ~ 19低优先级)。- 僵尸进程通常需父进程回收。:以树形结构显示进程父子关系。:调整已运行进程的优先级。:实时动态查看进程状态。:暂停当前前台进程,再用。:向进程发送信号(默认。:根据名称查找PID。:查看当前进程快照。

2301_76273976的博客 788

Ubuntu:制作系统服务和进程管理

文章目录一、Ubuntu 启动过程1.1 SysVinit1.2 Upstart1.3 Systemd二、制作系统服务2.1 systemctl命令2.2 开机自启动三、进程管理3.1 查看进程3.2 杀死进程3.3 将进程放入后台运行 一、Ubuntu 启动过程 我们不去管计算机启动后加载 BIOS、读取 MBR 等操作,直接看加载内核后的初始化过程。 Linux init 系统主要有三种: SysVinit:Ubuntu 6.10 及之前的版本使用的init 系统; Upstart:Ubuntu 从

花城的博客 2237

Ubuntu 进程管理

进程创建

weixin_61405364的博客 1547

Ubuntu下进程管理工具

进程管理 一些细节 进程一般分为交互进程、批处理进程和守护进程三类。 守护进程总是活跃,在系统启动时通过脚本自动启动,或由root启动,通常在后台运行。 一个进程可以拥有子进程。当父进程终止时,它的子进程也随之终止;而子进程终止时,父进程通常可以继续运行。

swqqcs的专栏 6028

计算机操作系统实验——进程管理(基于Ubuntu的实现)

操作系统——进程管理(基于Ubuntu的实现) 环境:VMware® Workstation 12 Pro;ubuntu-18.04.6-desktop-amd64; 将虚拟机装好后,打开ubuntu虚拟机,进入终端进行vim和gcc的安装 vim安装:命令:sudo apt-get install vim-gtk vim安装过程:这里记得输入y,输入后等待它安装成功 安装gcc,命令为:sudo apt install gcc gcc安装过程:这里也要输入y,然后就坐等安装成功 进程创建。编写一段程序

wbl9904的博客 3430

ubuntu进程管理

进程管理一些细节    进程一般分为交互进程、批处理进程和守护进程三类。    守护进程总是活跃,在系统启动时通过脚本自动启动,或由root启动,通常在后台运行。    一个进程可以拥有子进程。当父进程终止时,它的子进程也随之终止;而子进程终止时,父进程通常可以继续运行。    init 进程为根进程,所有进程都是它的子进程ps显示进程信息,参数可省略 -

白云巅的专栏 4573

ubuntu | 不重启解决桌面假死无响应鼠标点击无效等问题

ubuntu有7个tty,tty1-6是全屏命令行,tty7是图形界面,正常情况系统默认优先启动tty7图形界面。 先说怎么回到图形界面: ctrl + alt + f7 (Fn键笔记本) ctrl + Fn + alt + f7 怎么进入tty: (这里要特别强调一下使用笔记本的同学,请注意键盘上是否有"Fn"键。) ctrl + alt + f1 (Fn键笔记本) ctrl ...

u011607490的博客 2万+

ubuntu Linux操作系统使用教程(学习笔记)

第一章——系统介绍 Linux、GNU、GPL的关系,Linux的主要发行版本、Linux系统特性及与Windows的区别,略 第二章——系统部署 系统安装——略,参考虚拟机安装与双系统(win10+ubuntu)安装及其他 Grub程序简介——Grub是个启动引导程序 Grub的配置——设置默认启动系那个等,sudo gedit /etc/default/grub(使用gedit来编辑对应文...

liyunxin_c_language的博客 7177

Linux系统—进程管理详解(十三)

本文主要讲述Linux系统高级管理板块,优先讲讲Linux进程管理~更多Linux 相关内容请点击👉“练小杰的优快云”!!!

weixin_55767624的博客 1133

ubuntu进程管理方法

文章转载自:http://www.cnblogs.com/xinzaibing/archive/2012/03/24/2415434.html ubuntu进程管理方法 ps 显示当前进程 ps -l 显示详细信息  ps -u 以用户的格式显示  相关字段说明 F 进程状态标志  S 进程状态代码  UID 进程执行者ID  PPID 父进程标识(parent proc

ganges_zs的博客 2015
上一篇: python日志模块笔记
下一篇: MongoDB多集合排序的一种实现
dinght2000
博客等级 码龄11年 3粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值