pm2 npm install -g pm2 npm install -g pm2-web //linux有效 command pm2 logs,实时显示日志 pm2 list,查看启动进程 pm2...stop id[name],关闭进程,all所有 pm2 kill,关闭所有 pm2 monit,查看详细信息 pm2 start,启动程序 –watch,修改app.js后自动重启 debug..."request": "launch", "type": "node-terminal" }, package.json配置 "run":"pm2
前言 回顾上一篇文章(Linux PM QoS framework(1)_概述和软件架构),PM QoS framework抽象出4个系统级别的QoS constraint(统称为PM QoS class...API汇整 PM QoS class framework提供的API有2类:一类是以函数调用的形式,为kernel space的driver、service等提供的;另一类是以misc设备的形式,为用户空间进程提供的...pm qos class的定义如下: 1: /* include/linux/pm_qos.h */ 2: enum { 3: PM_QOS_RESERVED = 0,...2.2 向kernel PM有关的service提供的,用于获取、跟踪指定PM QoS需求的API int pm_qos_request(int pm_qos_class); int pm_qos_add_notifier...enum pm_qos_type包括PM_QOS_MAX、PM_QOS_MIN和PM_QOS_SUM。
PM2 是一个守护进程管理器,可帮助您管理和保持应用程序在线。开始使用 PM2 很简单,它以简单直观的 CLI 形式提供,可通过 NPM 安装。...你可以通过:all 对所有流程采取行动id 对特定进程 ID 执行操作检查状态、日志、指标现在您已经启动了此应用程序,您可以检查其状态、日志、指标,甚至可以获取带有 pm2.io 的在线仪表板。...应用程序,PM2 包含一个自动负载均衡器,它将在每个生成的进程之间共享所有 HTTP[s]/Websocket/TCP/UDP 连接。...安装程序启动脚本使用您在服务器引导/重新启动时管理的进程重新启动 PM2 至关重要。...要解决此问题,只需运行以下命令以生成活动的启动脚本:pm2 startup要冻结自动重生的进程列表,请执行以下操作:pm2 save在此处阅读有关启动脚本生成器的更多信息。
$ pm2 start app.js --name="api" # 启动应用程序并命名为 "api" $ pm2 start app.js --watch # 当文件变化时自动重启应用 $ pm2...start script.sh # 启动 bash 脚本 $ pm2 list # 列表 PM2 启动的所有的应用程序 $ pm2 monit # 显示每个应用程序的CPU和内存占用情况 $ pm2...show [app-name] # 显示应用程序的所有信息 $ pm2 logs # 显示所有应用程序的日志 $ pm2 logs [app-name] # 显示指定应用程序的日志 pm2 flush...$ pm2 stop all # 停止所有的应用程序 $ pm2 stop 0 # 停止 id为 0的指定应用程序 $ pm2 restart all # 重启所有应用 $ pm2 reload...pm2 reset [app-name] # 重置重启数量 $ pm2 startup # 创建开机自启动命令 $ pm2 save # 保存当前应用列表 $ pm2 resurrect # 重新加载保存的应用列表
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能 1、 pm2需要全局安装 npm install -g pm2 2...、进入项目根目录 2.1 启动进程/应用 pm2 start bin/www 或 pm2 start app.js 2.2 重命名进程/应用 pm2 start app.js --name wb123...2.3 添加进程/应用 watch pm2 start bin/www --watch 2.4 结束进程/应用 pm2 stop www 2.5 结束所有进程/应用 pm2 stop all 2.6...删除进程/应用 pm2 delete www 2.7 删除所有进程/应用 pm2 delete all 2.8 列出所有进程/应用 pm2 list 2.9 查看某个进程/应用具体情况 pm2 describe...www 2.10 查看进程/应用的资源消耗情况 pm2 monit 2.11 查看pm2的日志 pm2 logs 2.12 若要查看某个进程/应用的日志,使用 pm2 logs www 2.13 重新启动进程
全局安装pm2 npm install pm2 -g 启动监听模式 自动监听文件变化 pm2 start app.js --watch 常用命令 pm2 start app.js # 启动 pm2 stop...app.js # 停止 pm2 logs # 日志 pm2 stop all # 停止全部 pm2 delete all # 杀死全部进程 pm2 startup # 开机自启 pm2 update...pm2 # 更新 pm2 pm2 serve ....如果你的 php 不在全局变量可以指定绝对路径脚本 args: "queue:work --tries=3" # artisan 命令和参数 restart_delay: 3000 # 进程中断三秒后重启...不监听文件变化 interpreter: bash # 使用 Bash 解释器来执行命令 args: "" # artisan 命令和参数 restart_delay: 3000 # 进程中断三秒后重启
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能,在前端和nodejs的世界中用的很多。...1、 pm2需要全局安装 npm install -g pm2 2、进入项目根目录 2.1 启动进程/应用 pm2 start bin/www 或 pm2 start app.js 2.2 重命名进程...2.5 结束所有进程/应用 pm2 stop all 2.6 删除进程/应用 pm2 delete www 2.7 删除所有进程/应用 pm2 delete all 2.8 列出所有进程/应用 pm2...list 2.9 查看某个进程/应用具体情况 pm2 describe www 2.10 查看进程/应用的资源消耗情况 pm2 monit 2.11 查看pm2的日志 pm2 logs 2.12 若要查看某个进程.../应用的日志,使用 pm2 logs www 2.13 重新启动进程/应用 pm2 restart www 2.14 重新启动所有进程/应用 pm2 restart all ?
Runtime PM数据段 在每个device结构中都存在dev_pm_info的结构,此结构中通过CONFIG_PM_RUNTIME配置字段代码了Runtime PM的信息。...Runtime PM举例 写了一个简单的测试runtime测试例子,如下: #include #include #include #include #include #include #include static int runtime_pm_probe(struct platform_device *pdev) { printk(KERN_EMERG..."runtime_pm: runtime_pm_probe!
} 该指针的数据类型struct dev_pm_qos是per-device pm qos的核心数据结构,定义如下: 1: struct dev_pm_qos { 2: struct...struct pm_qos_constraints为pm qos要求的具体抽象,可参考“Linux PM QoS framework(2)_PM QoS class”中的描述; latency_tolerance...当为DEV_PM_QOS_RESUME_LATENCY、DEV_PM_QOS_LATENCY_TOLERANCE时,为一个plist_node,类似PM QoS class。...2.3 向kernel PM有关的service(例如PM domain)提供的,用于获取、跟踪指定PM QoS需求的API enum pm_qos_flags_status dev_pm_qos_flags...对于其它两个类型的QoS,和PM QoS class中的pm_qos_*接口类似。
Runtime PM数据段 在每个device结构中都存在dev_pm_info的结构,此结构中通过CONFIG_PM_RUNTIME配置字段代码了Runtime PM的信息。...pm_runtime_get/pm_runtime_put(异步请求增加/减少引用计数) pm_runtime_get_sync/pm_runtime_put_sync(同步请求增加/减少引用计数) pm_runtime_set_active...__pm_runtime_resume(resume设备) Runtime PM举例 写了一个简单的测试runtime测试例子,如下: #include #include... #include #include #include #include... #include static int runtime_pm_probe(struct platform_device *
官方的说法,pm2 是一个带有负载均衡功能的Node应用的进程管理器,个人认为,并不准确,因为pm2支持多种语言,只是对于除node之外的其他进程无负载均衡的能力。...,同时运行在不同配置下; 支持监听重启,在文件更新等情况下可实现进程自动重启; 支持linux的startup进程启动,startup是指系统boot, 进程自启动,如centos的chkconfig;...日志管理,两种日志,pm2系统日志与管理的进程日志,默认会把进程的控制台输出记录到日志中; 命令自动补全功能,个人感觉这个功能意义不大,而且尝试了一下,没有原生的linux命令自动补全反应敏- 捷;...pm2进程管理工具的特点。...,最好先删除应用后,重新启动方才生效,如修改脚本入口文件; pm2 kill 杀掉pm2管理的所有进程; pm2 logs 查看指定应用的日志,即标准输出和标准错误; pm2 monit 监控各个应用进程
前言 我需要在云服务器上跑我的python脚本,为了防止终端关了之后脚本停止,使用了pm2作为进程管理,守护进程不被kill。 pm2 是一个带有负载均衡功能的进程管理器....安装 npm install pm2 -g 启动 pm2 start app.js 不仅仅能启动node.js应用,也能启动其他脚本程序 pm2 start bashscript.sh --log <log_path...查看运行情况 pm2 list 重启 pm2 restart app_name 停止 pm2 stop app_name 删除 pm2 delete app_name 日志 日志一般在您的这个文件目录中...$HOME/.pm2/logs -打开日志 pm2 logs -打开某个app的日志 pm2 logs appName 终端仪表盘 pm2 monit 以自定义名字运行 pm2 start app...--name newname pm2 restart app --name newname
如果对前面Linux进程不太熟悉可以先阅读: Linux进程 本篇主要内容: 僵尸进程和孤儿进程 Linux进程优先级 1. 僵尸进程 僵尸进程就是处于僵尸状态下的进程!...所以,只要子进程退出,父进程还在运行,但父进程没有读取子进程状态,子进程进入Z状态 僵尸状态就是Linux状态中的X死亡状态!...配置进程优先权对多任务环境的linux很有用,可以改善系统性能。...NI :NICE值,表示优先级的修改数据 NICE其取值范围是-20至19,一共40个级别 Linux进程的优先级数值范围:60~99 Linux中默认进程的优先级都是:80 Linux是支持动态优先级调整的...总结 本篇文章前部分紧贴上篇Linux进程,分析完了Linux下常见的进程状态,然后初步了解了Linux进程优先级,而进程优先级与前面内容相差较大,希望大家能够多花点时间理解!
1.进程创建 1.1 fork函数 在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。...新进程为子进程,而原进程为父进程 #include pid_t fork(void); 返回值:自进程中返回0,父进程返回子进程id,出错返回-1 进程调用fork,当控制转移到内核中的...else if (ret > 0) { // 异常退出 printf("sig code : %d\n", st & 0X7F); } } } 测试结果: [root@localhost linux.../a.out #等20秒退出 child exit code:10 [root@localhost linux]# ....Linux鼓励将这种应用于程序之内的模式扩展到程序之间。如下图 一个C程序可以fork/exec另一个程序,并传给它一些参数。这个被调用的程序执行一定的操作,然后通过exit(n)来返回值。
前言:前面了解完前面的Linux进程基础概念后,我们算是解决了Linux进程中的一大麻烦,现在我们准备更深入的了解Linux进程——Linux进程控制!...我们主要介绍的Linux进程控制内容包括:进程终止,进程等待与替换,进程程序替换! 本篇主要内容: 重识进程创建 进程退出场景 错误码和退出码 1....重识进程创建 1.1 fork函数 在我们之前提到过,创建进程使用的是fork函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。...内核做: 分配新的内存块和内核数据结构给子进程 将父进程部分数据结构内容拷贝至子进程 添加子进程到系统进程列表当中 fork返回,开始调度器调度 fork函数返回值: 子进程返回0, 父进程返回的是子进程的...在多进程环境中,我们创建子进程的目的就是协助父进程办事,但是父进程怎么知道子进程把事情办得怎么样?所以父进程要知道子进程办的怎么样,就有了退出码,而main函数的返回值,就是进程的退出码!
前言:接着前面进程终止,话不多说我们进入Linux进程等待的学习,如果你还不了解进程终止建议先了解: Linux进程终止 本篇主要内容: 什么是进程等待 为什么要进行进程等待 如何进程等待...进程等待的概念: 我们通常说的进程等待其实是通过wait/waitpid的方式,让父进程(一般)对子进程进行资源回收的等待过程,父进程必须等待这个子进程结束后,处理它的代码和数据! 2....进程等待必要性 在了解完进程等待的概念后,新的问题出现了,我们为什么要进行进程等待,进程等待的必要性是什么?...进程等待必要性: 若子进程退出,而父进程对它不管不顾,就可能造成‘僵尸进程’的问题,进而造成内存泄漏。...父进程创建子进程的目的是为了让子进程协助自己完成任务的,而父进程需要知道子进程将任务完成得如何。这就需要通过进程等待的方式,获取子进程的退出信息。 3.
进程和程序不是一一对应的: 一个程序可对应多个进程即多个进程可执行同一程序; 一个进程可以执行一个或几个程序 怎样理解进程 如图,代表着一个程序加载到内存的过程。...课本上称之为PCB(process control block),Linux操作系统下的PCB是: task_struct 。...在Linux中描述进程的结构体叫做task_struct。 task_struct是Linux内核的⼀一种数据结构,它会被装载到RAM(内存)⾥里并且包含着进程的信息。...在Linux中,kill -9 +PID可以杀掉这个进程 Linux下第一类系统调用接口 getpid 头文件 #include #include...:在Linux下运行的代码的父进程是什么?
Linux进程是系统中正在运行的程序的实例。每个进程都有一个唯一的进程标识符(PID),并且拥有自己的地址空间、内存、数据栈以及其他用于跟踪执行状态的属性。...进程可以创建其他进程,被创建的进程称为子进程,创建它们的进程称为父进程。这种关系形成了一个进程树。 1. 进程的类型 在Linux操作系统中,进程是系统进行资源分配和调度的基本单位。...Linux进程可以根据其特性和用途被分为多种类型。以下是一些主要的Linux进程类型: 1....进程间通信(IPC) 进程间通信(IPC)是指两个或多个进程之间传输数据或信号的机制。Linux支持多种IPC机制,包括: 1....进程控制 Linux提供了一系列的系统调用(如fork(), exec(), wait(), exit()等)用于进程控制。
笔记:根据一个进程的名字或启动此进程的命令(连续的一部分即可)杀死进程 一、使用单条命令 ps -ef | grep 进程名/启动进程的命令 | grep -v grep | awk ‘{print $2...}’ | xargs kill -9 执行结果: [1]- 已杀死 sleep 200 [2]+ 已杀死 sleep 200 二、编写脚本 linux.../bin/bash # 脚本名:kill_process.sh # 脚本功能:强制杀死进程 方式kill -9 # 1通过ps查询进程的id # 2使用kill -9 强制终止进程...函数功能:根据进程名杀死程序 参数:进程名 返回值:无 !...————————————————————— # 根据进程名查询包含进程名的进程 并排除grep查询进程和此脚本进程 ps -ef | grep “$pName” | grep -v grep | grep
1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。...2.杀进程和查看进程对应PID目录下exe文件信息 最常用的方法是ps -aux或者ps -ef 然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。...使用kill命令结束进程:kill -a 进程pid 或者 killall 程序名 查看对应PID目录下的exe文件信息: [root@localhost postfix]# ps -aux|grep
领取专属 10元无门槛券
手把手带您无忧上云