linux如何设置程序开机启动后台运行?

有时,我们需要在终端中启动并运行程序;但如果关闭终端 程序也会关闭。
那么有没有办法在关闭终端后继续运行从此终端启动的程序呢?有以下几种方法: 1 、让Linux忽略终端的hangup信号,不杀死进程。
2 . 使该进程成为终端的非子进程。
方法一:在终端输入命令:#./psopso.file2 1 说明:直接在后台运行pso,并将终端输出保存到当前目录下的文件pso.file中。
当客户端关闭并重新加入服务器时;可以直接查看pso.file文件来查看运行结果(命令:#catpso.file)。
或者在终端输入命令:#nohup./psopso.file2 1 说明:nohup 不挂起;不要直接在后台运行 pso,并将终端输出保存在当前路径下的 pso.file 文件中。
当客户端关闭并重新加入服务器时;可以直接查看pso.file文件来查看运行结果(命令:#catpso.file)。
方法二:一种实现方案是nohup命令。
例如,要启动jboss,可以nohup./run.sh。
就是这样。
末尾的“”符号表示jboss在后台启动;因此,不影响其他命令的继续运行。
但这有一个问题。
nohup命令可以“释放”这个进程的Linux,但是nohup会将进程的控制台输出重定向到nohup.txt(默认就是这个文件)。
当然,它可以重定向到其他文件,但输出将始终存在。
如果jboss运行时间较长,控制台输出较多,则nohup.txt文件会变得非常大。
通常项目中的日志都会输出到单独的日志文件或数据库中,这意味着控制台输出对于程序来说意义不大,那么这些输出是否可以丢弃呢?答案是肯定的。
这里我们解释一下Linux重定向(注意,这是针对Linux重定向,而不是nohup)。
0、1 、2 为标准输入;表示标准输出和标准错误数据输出,可用于指定需要重定向的标准输入或输出。
一般使用时,默认为标准输出,1 ;当我们需要特殊用途时;我们可能会使用其他标签。
例如,将程序的错误信息输出到日志文件:./program2 log。
这样,屏幕上正常输出,但错误信息输出到日志文件中。
另外,还可以实现0 1 和2 之间的切换。
2 1 :将错误消息重定向到标准输出。
Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有的信息都毫无踪迹地重定向到了它将会消失。
结合nohup,我们可以这样做: nohup./run.sh/dev/null 这是最简单的方式,这样不仅可以让程序一直在后台运行,而且还能保证不会生成过大的nohup.txt文件。
方法三:利用Linux机制在子shell中运行程序。
方法非常简单;只需将命令放在括号()中即可。
ps -ef|greptest 是run.sh的父进程是1 、1 ,不是当前终端;因此,挂断信号可以忽略。
当然,Linux允许程序在后台运行或者disown命令;它不能被挂断信号(例如 setid 命令)禁用。
方法 4 :如果您使用的是 Ubuntu,您可以使用 CTRL + ALT + T 组合键打开终端。
当然,你可以打开Dash;使用超级键(Windows 键)搜索“TERM”,然后单击“Term”图标打开终端窗口。
XFCE KDE LXDE 对于其他桌面环境,如 Cinnamon 和 MATE,您可以在菜单中找到终端。
某些环境在扩展坞或面板中包含终端图标。
通常,您可以通过在终端中直接输入应用程序名称来启动应用程序。
例如,您可以通过键入“firefox”来启动 Firefox。
在终端中运行应用程序的优点是您可以输入一些附加参数。
例如,您可以使用以下命令打开Firefox浏览器窗口并使用默认搜索引擎查找相关信息:firefox-search "linux.cn" 如果您打开 Firefox,打开程序后,您可能会注意到,如果您返回终端窗口控制,则可以继续。
ut' 是的,尽管它会自动将调试信息记录在 nohup.out 文件中。
您不能使用该终端执行任何操作。
所以需要按照第一种方式进行混合;也就是说,与 nohupcommand{option} 混合后,它会自动将你使用 -rw----- 权限运行的命令的输出记录为 nohup.out。
但你可以 deselectate@delectate:~$nohupvlc[1 ]9 04 5 delectate@delectate:~$nohup:ignoringinputandappendingoutputto`nohup.out' //此处按回车或使用 ctrl+c 和使用 //showacleanterminaldelectate@delectate:~$ "" 性质相同。
如果当前运行程序的终端没有关闭;启动程序链接到 pst。
如果终端关闭,它会自动连接到tty。
如果当前目录下的nohup.out文件无法写入。
输出被重定向到 $HOME/nohup.out。
默认情况下,nohup 默认输出到 nohup.out 文件。
还可以使用重定向来指定输出文件: nohupcommand{option}myout.file2 1 虚拟终端 该终端只有存在$或#时才能关闭;否则,启动过程可能会终止(如果程序继续输出信息而没有出现 $ 或 #,请按 Enter 键)。
其他相关命令: 任务:查看当前有多少个命令在后台运行 fg:将后台的命令移到前面继续。
如果后台有很多命令。
您可以使用 fg%jobnumber 来调用所选命令。
%jobnumber 通过 jobs 命令找到的后台运行的命令的序列号(不是pid)。
bg:切换在后台暂停的命令以继续。
如果后台有很多命令。
您可以使用 bg%jobnumber 来调用 select 命令。
%jobnumber 是通过 jobs 命令找到的在后台运行的命令的序列号(不是 pid)。
杀掉进程、杀掉启动程序和正常方法一样:pkill -9 namekillallnamekillpid...命令应用:Linux服务器挂起下载。
启动相关服务; Linux服务器启动流程(具体是SSH登录) 1 nohuparia2 c-idownloadlist-m0-j1 我用过一次

Linux如何设置开机自启动sh文件

如何设置 Linux 在启动时自动启动 sh 文件。
在Linux中,开机自动启动可以简化我们的工作,减少每次开机后繁琐的手动启动操作。
本文将介绍如何在Linux中设置sh文件开机自动启动。
编写sh文件首先,我们需要编写一个需要自动启动的shell脚本文件(sh文件)。
例如我们编写test.sh脚本文件,代码如下: #!/bin/bashecho "HelloWorld" 该脚本文件输出HelloWorld,脚本内容可以根据需要自定义。
设置sh文件的可执行权限。
为了让Linux系统能够执行脚本,我们需要给脚本文件添加执行权限。
chmod+xtest.sh 命令将为脚本文件添加可执行权限。
将sh文件添加到启动项为了让Linux系统开机后自动执行脚本文件,我们需要将脚本文件添加到启动项。
我们可以使用rc.local文件来实现这个功能。
编辑文件rc.local sudonano/etc/rc.local,在文件中添加脚本文件执行命令,例如:/path/to/test.sh 其中/path/to/为脚本文件所在路径。
保存rc.local文件后,修改该文件具有可执行权限。
sudochmod+x /etc/rc.local 测试自初始化的sh文件。
您已经完成了 sh 文件的编写、添加可执行权限并将其添加到启动项。
现在重新启动Linux系统并检查脚本文件是否已自动执行。
执行以下命令重启Linux系统:重启sudoreboot后,查看输出结果,判断脚本文件是否自动执行。
总结 本文介绍了在Linux中如何设置sh文件开机自动启动的过程,包括编写sh文件、设置sh文件可执行权限、将sh文件添加到启动项以及测试自启动结果的步骤。
希望这篇文章对您有用。

如何让程序开机自启动代码?

1 . 同时按下 Win+R 键。
2 . 输入 shell:startup 并按 Enter 键。
3 、打开文件夹后,将需要设置开机启动的软件快捷方式复制粘贴到启动项文件夹中。