linux如何设置程序开机启动后台运行? 有些时候vlclinux命令 , vlclinux命令我们需要在终端启动一个程序 , 并使之运行——但是如果关闭终端 , 那么这个程序也就随着关闭了 。那么有没有什么方法在关闭终端后,让已经从这个终端启动的程序继续运行呢?有以下方法
1.让linux忽略终端的hung up 信号,不关闭进程vlclinux命令;
2.让此进程变为终端的非子进程 。
方法一vlclinux命令:
在终端输入命令:
# ./psopso.file 21
解释:将pso直接放在后台运行 , 并把终端输出存放在当前目录下的pso.file文件中 。
当客户端关机后重新登陆服务器后,直接查看pso.file文件就可看执行结果(命
令:#cat pso.file ) 。
或者在终端输入命令:
# nohup./psopso.file 21
解释:nohup就是不挂起的意思,将pso直接放在后台运行 , 并把终端输出存放在当前
目录下的pso.file文件中 。当客户端关机后重新登陆服务器后 , 直接查看pso.file
文件就可看执行结果(命令:#cat pso.file ) 。
方法二:
实现方案就是nohup命令 。
例如要启动jboss,可以nohup./run.sh。这样就可以了,结尾的“”符号表示后台启动jboss,从而不影响继续运行其他命令 。
但这样有一个问题,nohup命令虽然可以让linux“放过”这个进程,但是nohup会同时把进程的控制台输出重定向到nohup.txt下(默认是这个文件) , 当然可以重定向为其他的文件,但是输出总会有的 。
如果jboss运行很长时间,而且如果有很多控制台输出的话 , nohup.txt文件就会变的很大很大 。
通常项目中的日志都会输出到特定的日志文件或者输出到 数据库 中,也就是说控制台的输出对于程序的意义不大,那么可不可以抛弃掉这些输出呢?答案是肯定的 。
这里讲解一下linux的重定向(注意,是linux的重定向,不是针对nohup) 。
0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出 。
在一般使用时,默认的是标准输出,既1.当我们需要特殊用途时,可以使用其他标号 。例如,将某个程序的错误信息输出到log文件中:./program 2log 。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中 。
另外,也可以实现0,1,2之间的重定向 。21:将错误信息重定向到标准输出 。
Linux下还有一个特殊的文件/dev/null , 它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪 。
结合nohup,我们可以这样 nohup./run.sh/dev/null
这是最简单的一种方式,既保证了程序能够一直后台执行 , 又能保证不会产生太大的nohup.txt文件 。
方法三:
利用的linux的一个机制,让程序在subshell中执行 , 方法很简单 , 将命令用括号()括起来即可 。
ps -ef | grep test
可以看到run.sh的父进程为1 , 不是当前终端了,这样就能忽略hungup信号 。
当然linux还可以动态的让程序后台运行或不被hungup 信号关闭,例如disown命令,setid命令等 。
方法四:
如果是使用Ubuntu的话,你可以利用CTRL+ALT+T组合键打开终端 。当然你也可以使用超级键(Windows键)打开Dash,搜索“TERM”,然后点击“Term”图标来打开终端窗口 。
对于其他的桌面环境来说,例如XFCE、KDE、LXDE、Cinnamon以及MATE , 你可以在菜单中找到终端 。有些环境会在停靠栏或者面板上面包含终端图标 。
通常情况下,你可以在终端里面直接输入应用程序名来启动一个应用程序 。比如说,你可以通过输入“firefox”来启动Firefox 。
推荐阅读
- 即时游戏情侣拍照姿势自拍,解锁情侣拍照姿势
- 陕西互联网消防erp管理系统的简单介绍
- htmljs计算器源代码,html简易计算器代码
- 安卓手机内存转苹果手机卡,安卓内存怎么转苹果?
- inc函数python python inca
- sqlserver2008试卷答案,sqlserver2008期末考试题库
- centos配置web服务器配置,centos7配置web服务器
- java控制台代码大全 java中的控制台是什么
- 新媒体下半场如何营销,新媒体营销是做什么