当前位置:首页 » 操作系统 » 添加开机启动linux

添加开机启动linux

发布时间: 2022-06-30 23:40:28

A. linux没有rc.local如何添加开机启动脚本

添加开机启动脚本的方法:

可以利用 systemd 的启动原理,通过 /etc/systemd/system/rc-local.service 文件来达到启动时执行 /etc/rc.local 文件的目的。不仅仅是ubuntu 18.04有这个问题。

debian 9也会碰到,方法使用。没有/etc/rc.local文件,熟悉的开机自动启动的设置就配置好了。

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

2021年6月,根据Linux 5.14刚刚进入合并队列的char-misc-next提交,Linux 5.14正式移除了RAW驱动。

发展历史:

Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:Unix操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络。




B. Linux:怎么设置服务开机自动启动

linux设置开机服务自动启动/关闭自动启动命令
[root@localhost
~]#
chkconfig
--list
显示开机可以自动启动的服务
[root@localhost
~]#
chkconfig
--add
***
添加开机自动启动***服务
[root@localhost
~]#
chkconfig
--del
***
删除开机自动启动...

C. linux怎么让程序开机自动启动

1. 开机启动时自动运行程序
Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在
/etc/rc或
/etc/rc.d 或
/etc/rc?.d
目录下的脚本文件,可以使init自动启动其它程序。例如:编辑/etc/rc.d/rc.local 文件(该文件通常是系统最后启动的脚本),在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window。
2. 登录时自动运行程序
用户登录时,bash先自动执行系统管理员建立的全局登录script :
/ect/profile
然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:
/.bash_profile、
/.bash_login、
/.profile,
但只执行最先找到的一个。因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。

D. 如何添加linux启动项。

LINUX里的添加启动项的方法和WINDOWS不一样
使用chkconfig命令可以查看在不同启动级别下课自动启动的服务(或是程序),命令格式如下:
chkconfig
--list
可能输出如下:
openvpn 0:关闭 1:开启 ...... 6:关闭 (0-6 为启动级别 ;
关闭/开启为相应级别下该服务的自动启动选项)
如果希望对自动启动选项做出改变,命令格式为:
chkconfig --level x name
on/off
z.B. chkconfig --level 5 openvpn
off
以上的命令可以查询系统可提供的服务,如果希望开机时启动某一程序,可采用以下方法:
在~/.bash_profile文件最后一行添加所希望启动的软件名。如:“synergyc
192.168.0.154”
则在开机时自动运行synergyc并与192.168.0.154连接。
以上内容为我个人配置,但是发现了一个问题:FC12在登陆后才完成系统启动,也就是说在进入用户登陆界面的时候synergyc还未能启动。所以,(也许)synergyc不适合被安装在用作无键鼠客户机的linux系统中。
在Red
Hat Linux中自动运行程序
1.开机启动时自动运行程序
Linux加载后, 它将初始化硬件和设备驱动,
然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或
/etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 /etc/rc.d/rc.local
文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window。
2.登录时自动运行程序
用户登录时,bash首先自动执行系统管理员建立的全局登录script
:/etc/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、
/.profile,但只执行最先找到的一个。
因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。
3.退出登录时自动运行程序
退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。例如,在/.bash_logout中加入命令"tar
-cvzf c.source.tgz *.c",则在每次退出登录时自动执行 "tar" 命令备份 *.c
文件。
4.定期自动运行程序
Linux有一个称为crond的守护程序,主要功能是周期性地检查
/var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过crontab
命令来建立、修改、删除这些命令文件。
例如,建立文件crondFile,内容为"00 9 23 Jan *
HappyBirthday",运行"crontab
cronFile"命令后,每当元月23日上午9:00系统自动执行"HappyBirthday"的程序("*"表示不管当天是星期几)。
5.定时自动运行程序一次
定时执行命令at
与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复。at命令的一般格式为:at [ -f file ] time
,在指定的时间执行file文件中所给出的所有命令。也可直接从键盘输入命令:
代码如下:
$ at 12:00
at>mailto Roger -s ″Have a
lunch″ < plan.txt
at>Ctr-D
Job 1 at 2000-11-09 12:00
2000-11-09
12:00时候自动发一标题为"Have a
lunch",内容为plan.txt文件内容的邮件给Roger。
#!/bin/bash
RESTART="........"
#里面写相应服务代码
START="......."
STOP=".........."
case "$1"
in
restart)
$RESTART
echo "......"
;;
start)
$START
echo
"......"
;;
STOP)
$STOP
echo "......"
;;
*)
echo "Usage: $0
{restart ¦ start ¦ stop}"
exit 1
esac
exit 1
脚本写完要修改一下权限
chmod u+x
test.sh
首先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序写到一个文件里让系统能够按顺序执行,类似windows下的autorun.dat文件),另外在/etc这个文件夹里还有诸如名为rc1.d,
rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel,我们一般进入的X
windows多用户的运行级别是第5级,也就是rc5.d,在这个文件夹下的脚本文件就是运行第5级时要随机启动的服务程序。需要注意的是,在每个rc
(1-6).d文件夹下的文件其实都是/etc/init.d文件夹下的文件的一个软连接(类似windows中的快捷方式),也就是说,在
/etc/init.d文件夹下是全部的服务程序,而每个rc(1-6).d只链接它自己启动需要的相应的服务程序!
要启动scim(某一程序),我们首先要知道scim程序在哪里,用locate命令可以找到,scim在/usr/bin/scim这里,其中usr表示是属于用户的,bin在linux里表示可以执行的程序。这样,我就可以编写一个脚本程序,把它放到/etc/init.d里,然后在rc5.d里做一个相应的软链接就可以了。
这个脚本其实很简单,就两行:
#!/bin/bash
/usr/bin/scim
第一行是声明用什么终端运行这个脚本,第二行就是要运行的命令。
还需要注意的一点是,在rc5.d里,每个链接的名字都是以S或者K开头的,S开头的表示是系统启动是要随机启动的,K开头的是不随机启动的。这样,你就可以知道,如果我要哪个服务随机启动,就把它名字第一个字母K改成S就可以了,当然,把S改成K后,这个服务就不能随机启动了。因此,我这个链接还要起名为SXXX,这样系统才能让它随机启动
添加自启动脚本
首先把自己的脚本放到/etc/init.d中,,然后执行如下指令:
update-rc.d
a start 90 2 3 4 5 . stop 90 0 1 6 .
其中a就是你的脚本,注意有两个点。
a脚本范例。
代码如下:
#!/bin/sh
# Source function
library.
if [ -f /etc/init.d/functions ]; then
.
/etc/init.d/functions
else
.
/lib/lsb/init-functions
fi
MOD=/a.ko
start()
{
echo -n $"insert a
kernel mole: "
/sbin/insmod $MOD
echo
}
stop()
{
echo -n
$"remove a kernel mole: "
/sbin/rmmod a -f
echo
}
[ -f $MOD ] ||
exit 0
# See how we were called.
case "$1"
in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
*)
echo
$"Usage: $0
{start|stop|restart|reload}"
update-rc.d命令,是用来自动的升级System
V类型初始化脚本,简单的讲就是,哪些东西是你想要系统在引导初始化的时候运行的,哪些是希望在关机或重启时停止的,可以用它来帮你设置。这些脚本的连接位于/etc/rcn.d/LnName,对应脚本位于/etc/init.d/Script-name.
1、设置指定启动顺序、指定运行级别的启动项:
update-rc.d
<service> start <order> <runlevels>
2、设置在指定运行级中,按指定顺序停止:
update-rc.d
<service> stop <order> <runlevels>
3、从所有的运行级别中删除指定的启动项:
update-rc.d -f
<script-name> remove
例如:
update-rc.d script-name start 90 1 2 3 4 5 . stop
52 0 6 .
start 90 1 2 3 4 5 . :
表示在1、2、3、4、5这五个运行级别中,按先后顺序,由小到大,第90个开始运行这个脚本。
stop 52 0 6 .
:表示在0、6这两个运行级别中,按照先后顺序,由小到大,第52个停止这个脚本的运行。
如果在 /etc/init.d 中加入一个
script,还须要制作相关的 link
在 /etc/rc*.d 中。K 开头是 kill , S 开头是 start ,
数字顺序代表启动的顺序。(SysV)
update-rc.d 可以帮你的忙。
例:
在 /etc/init.d 中建立一个叫作 zope 的
script , 然后
update-rc.d zope defaults
就会产生以下链结::
代码如下:
Adding system startup for /etc/init.d/zope
...
/etc/rc0.d/K20zope -> ../init.d/zope
/etc/rc1.d/K20zope ->
../init.d/zope
/etc/rc6.d/K20zope -> ../init.d/zope
/etc/rc2.d/S20zope
-> ../init.d/zope
/etc/rc3.d/S20zope ->
../init.d/zope
/etc/rc4.d/S20zope -> ../init.d/zope
/etc/rc5.d/S20zope
-> ../init.d/zope
其他进阶使用方式请 man update-rc.d

E. linux 怎样添加开机自动启动程序

这是一个最简单的方法,编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可(要输入命令的全路径),类似于windows下的“启动”。
使用命令 vi /etc/rc.local
然后在文件最后一行添加要执行程序的全路径。
例如,每次开机时要执行一个haha.sh,这个脚本放在/opt下面,那就可以在“/etc/rc.local”中加一行“/opt/./haha.sh”,或者两行“cd /opt”和“./haha.sh”。
二、crontab(类似于windows的任务计划服务)
通过crontab可以设定程序的执行时间表,例如让程序在每天的8点,或者每个星期一的10点执行一次。
crontab -l 列出时间表;
crontab -e编辑时间表;
crontab -d删除时间表;
“-l”没什么可说的,就是一个查看而已;
“-e”是编辑,和vi没什么差别(其实就是用vi编辑一个特定文件);
“-d”基本不用,因为它把该用户所有的时间表都删除了,一般都是用“-e”编辑把不要了的时间表逐行删除;

F. 怎样将一个linux服务设置成开机启动

linux设置开机服务自动启动

[root@localhost ~]# chkconfig --list 显示开机可以自动启动的服务

[root@localhost ~]# chkconfig --add *** 添加开机自动启动***服务

[root@localhost ~]# chkconfig --del *** 删除开机自动启动***服务

www.2cto.com

[root@localhost ~]# setup 可以在shell图形终端里面配置的命令,去service里选择

[root@localhost ~]# ntsysv 在shell终端图形配置开机启动服务命令,选项没上面那个多

setup 、rc.local 和chkconfig三种方式都可以设置

第一种)

输入#setup指令进入系统服务菜单,选择你想启动的服务比如httpd,然后重起机器或者/etc/rc.d./init.d/httpd

start

www.2cto.com

第二种)

把启动命令放到/etc/rc.d/rc.local文件里这样就可以每次启动的时候自动启动服务了,例如对于apache,编译好apache后会在安装目录的bin下生成apachectl文件,这是个启动脚本,我们只需要把这个命令加到rc.local里就可以了

(suse没有rc.local。SUSE是可以这么定义自己的脚本的,如果希望在切换运行级之前和之后运行自己的脚本,那么可以分别创建:

/etc/init.d/before.local

/etc/init.d/after.local)

echo /usr/local/apache/bin/apachectl>> /etc/rc.d/rc.local,

设置服务自动启动的方式是在rc.local里还可以加入类似以下的一些脚本:

#sshd

/usr/local/sbin/sshd

#proftpd

/usr/local/sbin/proftpd

#apache

/home/apache/bin/apachectl start

#mysql

/home/mysql/bin/safe_mysqld --port=3306 &

#start oracle8i listener first

su - oracle -c 'lsnrctl start'

#start oracle8i

su - oracle -c 'dbstart'

第三种)

通过chkconfig指令.

使用chkconfig命令来把某项服务加到系统的各项运行级别中,步骤如下,

1 创建启动脚本.

对于apache,mysql,ssh这样的软件都是自己带的,我们只要稍微修改一下使之支持chkconfig就可以了

2 修改脚本

我们需要在脚本的前面加上一下2行,才能支持chkconfig命令

# chkconfig: 2345 08 92

#

# description: Automates a packet filtering firewall withipchains.

#

chkconfig:后面定义的使启动服务的运行级别(例子中使2345启动改服务),以及关闭和启动服务的顺序,(上例中关闭服务的顺序使8,启动的顺序使92)

descriptions:对改服务的描述(上例中是ipchains包过滤),你可以换成自己想要的

修改好之后执行

cp 你的脚本 /etc/rc.d/init.d/脚本名

chmod 700 /etc/rc.d/init.d/脚本名

chkconfig --add 脚本名

例如:

将其加入Linux启动过程,仅在level 3, level 5级别下运行

[root@Tester init.d]/sbin/chkconfig --add apache-httpd

[root@Tester init.d]/sbin/chkconfig --level 35 apache-httpdon

之后就可以了,以后每次重新启动服务器都会自动启动和关闭我们的服务了
需要解决更多linux问题,详情请看 http://www.linuxprobe.com/chapter-00.html
望采纳!

G. linux 怎么把服务设置开机启动

如果是已经安装好的服务,需要使用chkconfig设置开机启动。以MySQL为例,因各发行版不同,以及安装方式的差异,服务器的启动脚本可能会有细微不同,现假设服务脚本文件是/etc/init.d/mysqld。
首先查看服务是否正确注册
$ service --status-all | grep mysqld | grep -v 'grep'如果有含有mysqld文字的一行返回,则代表已正确注册;若没有需执行如下命令:
$ sudo chkconfig add mysqld
第二步设置开机自启动
$ sudo chkconfig mysqld on
附:查看所有服务及其运行级别的命令
$ chkconfig --list

H. linux设开机自启动服务

linux设开机自启动服务
1.
把启动命令放到/etc/rc.local中,
编辑:/etc/rc.local文件
如下:可以添加直接服务启动,也可以添加SHELL脚本
bash
/etc/init.d/webstart
start
bash
/etc/init.d/redis
以上运行的程序都是以root权限来执行的。如果某些程序要以某个用户的身份去运行,那么可以这样:
su
show
-c
/home/show/server/tomcat/bin/startup.sh
2.
chkconfig命令
[root@localhost
~]#
chkconfig
--list
显示开机可以自动启动的服务
[root@localhost
~]#
chkconfig
--add
***
添加开机自动启动***服务
[root@localhost
~]#
chkconfig
--del
***
删除开机自动启动***服务

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

有些时候,我们需要在终端启动一个程序,并使之运行——但是如果关闭终端,那么这个程序也就随着关闭了。那么有没有什么方法在关闭终端后,让已经从这个终端启动的程序继续运行呢?有以下方法

1.让linux忽略终端的hung up 信号,不关闭进程;

2.让此进程变为终端的非子进程。

方法一:

在终端输入命令:

# ./pso > pso.file 2>&1 &

解释:将pso直接放在后台运行,并把终端输出存放在当前目录下的pso.file文件中。

当客户端关机后重新登陆服务器后,直接查看pso.file文件就可看执行结果(命

令:#cat pso.file )。

或者 在终端输入命令:

# nohup ./pso > pso.file 2>&1 &

解释: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 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。

另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。

Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。

结合nohup,我们可以这样 nohup ./run.sh >/dev/null &

这是最简单的一种方式,既保证了程序能够一直后台执行,又能保证不会产生太大的nohup.txt文件。

方法三:

利用的linux的一个机制,让程序在subshell中执行,方法很简单,将命令用括号() 括起来即可。

ps -ef | grep test

可以看到run.sh的父进程为1,不是当前终端了,这样就能忽略hung up信号。

当然linux还可以动态的让程序后台运行或不被hung up 信号关闭,例如disown命令,setid命令等。


方法四:

如果是使用Ubuntu的话,你可以利用CTRL+ALT+T组合键打开终端。当然你也可以使用超级键(Windows键)打开Dash,搜索“TERM”,然后点击“Term”图标来打开终端窗口。
对于其他的桌面环境来说,例如XFCE、KDE、LXDE、Cinnamon以及MATE,你可以在菜单中找到终端。有些环境会在停靠栏或者面板上面包含终端图标。
通常情况下,你可以在终端里面直接输入应用程序名来启动一个应用程序。比如说,你可以通过输入“firefox”来启动Firefox。
在终端启动应用程序的好处是,你可以包含一些额外的参数。
例如,你可以通过下列命令来打开一个Firefox浏览窗口,然后利用默认的搜索引擎搜索相关信息:
firefox -search "linux.cn"

你可能会注意到,如果你启动Firefox,程序打开以后,回到了终端窗口控制,这就意味着你可以继续在终端进行工作。
通常情况下,如果你在终端启动了应用程序,控制会切换到新启动的应用程序,只有程序被关闭以后才会重新切换到终端控制。这是因为你在前台启动了这个程序。
如果要在Linux终端打开应用程序并且返回终端控制,那么你需要将应用程序启动为后台进程。
和下面所列的命令一样,我们可以通过增加一个(&)符号,将应用程序在后台启动。
libreoffice &

译者注:如果需要加参数的话,记得把&符号放在最后。
译者注:一般情况下,关闭终端时,在这个终端启动的后台程序也会被终止,要使终端关闭以后,后台程序依然保持执行可以使用下列命令
nohup command [arg...] &
如果应用程序目录没有安装在PATH变量包含的目录里面的话,我们就没有办法直接通过应用程序名来启动程序,必须输入应用程序的整个路径来启动它。
/path/to/yourprogram &

如果你不确定程序输入哪个Linux目录结构的话,可以使用find或者location命令来定位它。
可以输入下列符号来找到一个文件:
find /path/to/start/from -name programname

例如,你可以输入下列命令来找到Firefox:
find / -name firefox

命令运行的结果会嗖的一下输出一大堆,别担心,你也可以通过less或者more来进行分页查看。
find / -name firefox | more find / -name firefox | less

当find命令查找到没有权限访问的文件夹时,会报出一条拒绝访问错误,
你可以通过sudo命令来提示权限。当然,如果你没有安装sudo的话,就只能切换到一个拥有权限的用户了。
sudo find / -name firefox | more

如果你知道你要查找的文件在你的当前目录结构中,那么你可以使用点来代替斜杠:
sudo find . -name firefox | more

你可能需要sudo来提升权限,也可能根本就不需要,如果这个文件在你的主目录里面,那么就不需要使用sudo。
有些应用程序则必须要提升权限才能运行,否则你就会得到一大堆拒绝访问错误,除非你使用一个具有权限的用户或者使用sudo提升权限。
这里有个小窍门。如果你运行了一个程序,但是它需要提升权限来操作,输入下面命令试试:
sudo !!

方法五:
在Unix/Linux下如果想让程序独立终端运行,一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)
打开gnome-terminal,执行如下命令:
delectate@delectate:~$ totem &[1] 8510delectate@delectate:~$ 有几点需要注意:
已经启动的程序依然attach于当前pts,只有当前终端模拟器关闭(使用exit命令退出),进程自动被tty继承。delectate@delectate:~$ ps -e | grep totem //程序已被以totem & 形式启动,当前附在pts0上8819 pts/0 00:00:00 totemdelectate@delectate:~$ ps -e | grep totem //pts0的模拟终端被exit命令关闭,totem自动附在tty8819 ? 00:00:00 totemdelectate@delectate:~$
具有debug输出的进程,需要按enter键进行中断当前debug输出。但是如果程序持续进行printf,你将无法输入任何命令。delectate@delectate:~$ vlc &[1] 8850delectate@delectate:~$ VLC media player 1.0.6 Goldeneye[0x8b998b0] main libvlc: Running vlc with the default interface. Use ‘cvlc’ to use vlc without interface. //enter presseddelectate@delectate:~$ //show a clean terminal now** (:8850): CRITICAL **: giop_thread_request_push: assertion `tdata != NULL’ failed //仍然在输出数据…… //关闭程序[1]+ Done vlcdelectate@delectate:~$
你无法记录程序的debug输出结果。
只有当虚拟终端是 $ 或者 # 时候,才可以关闭此终端,否则可能导致已经启动的进程被关闭(按enter——如果程序持续输出信息而没有出现 $ 或 #)
使用nohup命令:
nohup描述:Run COMMAND, ignoring hangup signals.(忽略任何中断/挂起信号,使命令继续执行)
但是当你尝试使用命令:
1nohup command
时候却会遇到不大不小的麻烦……
delectate@delectate:~$ nohup vlcnohup: ignoring input and appending output to `nohup.out’
是的,虽然它自动把debug信息记录到nohup.out文件,但是你却无法使用这个终端进行任何操作。
所以你需要和第一个方法混用,即
nohupcommand {option}&
混用后,它会自动把你执行的命令输出结果记录到权限为-rw——-,名为nohup.out的文件中。
但是你仍然需要
delectate@delectate:~$ nohup vlc &[1] 9045delectate@delectate:~$ nohup: ignoring input and appending output to `nohup.out’ //在这里按一下回车或以ctrl+c以 //show a clean terminal delectate@delectate:~$
与使用 “&” 性质相同,当前启动程序的终端如果没有被关闭,已经启动的程序附在pst上;如果终端被关闭,则自动附在tty。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out。默认状态下,nohup默认输出到nohup.out文件,你也可以利用重定向来指定输出文件:
nohupcommand {option} > myout.file 2>&1 &
只有当虚拟终端是 $ 或者 # 时候,才可以关闭此终端,否则可能导致已经启动的进程被关闭(按enter——如果程序持续输出信息而没有出现 $ 或 #)
其他相关命令:
jobs:查看当前有多少在后台运行的命令
fg:将后台中的命令调至前台继续运行。如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
bg:将一个在后台暂停的命令,变成继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
杀死进程
杀死已经启动的程序和普通方式一样:
pkill -9 name
killall name
kill pid

命令应用:
linux服务器挂机下载;启动相关服务;linux服务器启动进程(尤其是ssh登录)
我就曾经用 1nohup aria2c -i downloadlist -m 0 -j 1 &

热点内容
phpifecho 发布:2024-11-16 21:57:11 浏览:723
android动态加载布局 发布:2024-11-16 21:37:54 浏览:799
php判断ip 发布:2024-11-16 21:07:03 浏览:739
有看头密码怎么改 发布:2024-11-16 20:57:39 浏览:327
A有语法错误不能编译 发布:2024-11-16 20:49:17 浏览:947
厨房需要配置什么喷淋头 发布:2024-11-16 20:39:02 浏览:298
酒瓶解压 发布:2024-11-16 20:29:20 浏览:730
视频怎样上传到手机 发布:2024-11-16 20:26:30 浏览:259
怎么把ppt文件压缩 发布:2024-11-16 20:22:30 浏览:686
linux大内存 发布:2024-11-16 20:22:28 浏览:951