网站建设资讯

NEWS

网站建设资讯

包含linux后台命令的词条

虚拟机中linux怎么新建后台任务

控制命令概览:

目前创新互联公司已为1000多家的企业提供了网站建设、域名、网络空间、网站托管运营、企业网站设计、阜康网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

1、command让进程在后台运行。

2、jobs查看后台运行的进程。

3、fg%n让后台运行的进程n到前台来。

4、bg%n让进程n到后台去,"n"为jobs查看到的进程编号。

linux如何后台运行node服务?

在你的任意目录输入命令: npm install pm2 -g

1.找到全局环境PATH路径

输入命令: echo $PATH

回车后: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

你的路径和我的可能不一样,但没关系,你可以选择任何一个以:隔开的路径做为系统环境路径,我通常会选 /usr/local/bin

2:找到pm2的安装路径

在上面输入 npm install pm2 -g 全局安装时

/usr/sbin/nodejs/bin/pm2 - /usr/sbin/nodejs/lib/node_modules/pm2/bin/pm2

/usr/sbin/nodejs/bin/pm2 是安装路径(你的可能和我的不一样)

3.好了都找到了,

就重要的一步要开始了,睁大你的双眼。

命令为: ln -s /usr/sbin/nodejs/bin/pm2 /usr/local/bin/ (注意空格)

格式: ln -s 空格 pm2安装路径 空格 系统环境路径

OK,搞定,接下来验证一把…

[root@iZmwyb7v60px1zZ ~]# pm2 list

回车...

$ pm2 start app.js # 启动app.js应用程序

$ 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 stop all # 停止所有的应用程序

$ pm2 stop 0 # 停止 id为 0的指定应用程序

$ pm2 restart all # 重启所有应用

$ pm2 reload all # 重启 cluster mode下的所有应用

$ pm2 gracefulReload all # Graceful reload all apps in cluster mode

$ pm2 delete all # 关闭并删除所有应用

$ pm2 delete 0 # 删除指定应用 id 0

$ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例

$ pm2 reset [app-name] # 重置重启数量

$ pm2 startup # 创建开机自启动命令

$ pm2 save # 保存当前应用列表

$ pm2 resurrect # 重新加载保存的应用列表

$ pm2 update # Save processes, kill PM2 and restore processes

$ pm2 generate # Generate a sample json configuration file

linux后台执行命令:和nohup的用法,确实很实用

当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨)。为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。

:当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上 实现后台运行。例如:sh test.sh

适合在后台运行的命令有f i n d、费时的排序及一些s h e l l脚本。在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:

这样,所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。

PS:当你成功地提交进程以后,就会显示出一个进程号,可以用它来监控该进程,或杀死它。(ps -ef | grep 进程号 或者 kill -9 进程号)

nohup:使用命令后,作业被提交到后台运行,当前控制台没有被占用,但是一但把当前控制台关掉(退出帐户时),作业就会停止运行。nohup命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。该命令的一般形式为:

如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:

使用了nohup之后,很多人就这样不管了,其实这样有可能在当前账户非正常退出或者结束的时候,命令还是自己结束了。所以在使用nohup命令后台运行命令之后,需要使用exit正常退出当前账户,这样才能保证命令一直在后台运行。

ctrl + z :可以将一个正在前台执行的命令放到后台,并且处于暂停状态。

Ctrl+c :终止前台命令。

jobs: 查看当前有多少在后台运行的命令。 jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。

21解析:

扩展链接:如何写高效的代码,和代码优化方法

linux系统中挂起操作和强制结束操作(后台运行程序方法)

在linux系统中有这两个命令 ctrl+z 和ctrl+c ,这两个命令输入之后看起来结果差不多,实质是不同的。

他们都有中断命令的效果,但是作用是不一样的。

ctrl+c是强制终止程序的执行并结束进程。而ctrl+z则只是中断任务的执行,但该任务并没有被结束。

它只是在进程中维持挂起的状态,用户可以使用fg/bg命令来继续前台/后台执行该任务。fg命令会重启

前台被中断的任务,bg命令会把中断的任务放到后台执行。

你也可以使用bg这样的方法让一个前台执行的任务切换到后台去执行。

也可以使用fg这样的方法让一个后台执行的任务切换到前台去执行。

还有一个最常用的方法是

在一行命令的最后输入,可以让这行命令放到后台去运行。

使用jobs命令查看当前有多少后台程序在运行。

linux 远程主机后台运行任务 挂起脚本

背景 :工作需要,需要远程控制主机使其断开Xshell后也能一直运行。

关键字 : ,nohup,脚本挂起。

在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 在程序结尾来让程序自动运行。

键入Ctrl + C,发出SIGINT信号,程序会继续运行

方法一、输入命令:jobs

方法二:输入命令:ps

fg、bg、jobs、、nohup、ctrl+z、ctrl+c 命令

加在一个命令的最后,可以把这个命令放到后台执行,如

可以将一个正在前台执行的命令放到后台,并且处于暂停状态。

查看当前有多少在后台运行的命令

jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。

将后台中的命令调至前台继续运行。如果后台中有多个命令,可以用fg %jobnumber(是命令编号,不是进程号)将选中的命令调出。

将一个在后台暂停的命令,变成在后台继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出。

法子1:通过jobs命令查看job号(假设为num),然后执行kill %num

法子2:通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid

前台进程的终止:Ctrl+c

如果让程序始终在后台执行,即使关闭当前的终端也执行(之前的做不到),这时候需要nohup。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

关闭中断后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令)

如上所示:

nohup 和 组合了后台运行程序。

可以输出到 out.log保存程序输出,也可以输出到/dev/null 即空设备,不保存输出。

上面三种方式无论在nohup.out 或test.out都看不到数据结果,这是因为python执行有缓存输出

解决

新的接口接入查看程序

使用后台运行程序:

结果会输出到终端

使用Ctrl + C发送SIGINT信号, 程序免疫

关闭session发送SIGHUP信号, 程序关闭

使用nohup运行程序:

结果默认会输出到nohup.out

使用Ctrl + C发送SIGINT信号, 程序关闭

关闭session发送SIGHUP信号, 程序免疫

平日线上经常使用nohup和配合来启动程序:

同时免疫SIGINT和SIGHUP信号

同时,还有一个最佳实践:

不要将信息输出到终端标准输出,标准错误输出,而要用日志组件将信息记录到日志里

nohup和究竟有啥区别

Linux后台运行Python程序

第一种nohup命令来让程序在后台运行

括号内容表示可以将平时输出到控制台中的内容重定向到*.log这个文件中,这个是可选的,如果没有这个,则会默认输出到nohup.out文件中。括号后面你的表示后台运行。

举个例子:

第二种方法是写一个脚本,假设我们定义了一个脚本run.sh

#!/bin/bash 是指此脚本使用/bin/bash来解释执行下面的语句,其中cd是表示将当前目录跳到所要运行文件所在目录,然后python3 文件名.py则表示运行***python文件,当写完该脚本后,执行以下命令来执行该脚本从而让程序在后台运行。

通过 ps -ef|grep python3 命令可以查看后台运行的进程都有哪些


当前文章:包含linux后台命令的词条
本文来源:http://cdweb.net/article/hdoipo.html