linux开机启动
⑴ linux开机怎么启动
只要电脑硬件没有问题,Linux系统也没有问题,启动主机的电源键后,就可以正常进入Linux系统了。
⑵ 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 &
⑶ 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)。
⑷ linux 设置开机服务的 启动顺序
可以在/etc/rc.local 中用脚本的方法,将mysqld abc tomcat的脚本文件依次写入到rc.local中。如果都是sysv的脚本的话可以将/etc/rc<x>.d/(x为你的init启动级别),将其中的脚本名称前的数字按tomcat>abc>mysqld 的顺序修改。
⑸ linux中如何开机启动运行指定的应用程序或指令
fonts
export QWS_MOUSE_PROTO=Tslib.1 用户启动文件
#;bin/yuan/input/etc/ts0
export TSLIB_CALIBFILE=/:是“空格”+“&”符号)让其在后台运行.d/,若用户不需要启动QT,造成其他程序(比如Shell)无法通过串口终端与用户交互.conf
export TSLIB_TSDEVICE=/init;home/etc/,则可能会导致位于其后的指令或程序无法得到执行;ts/,那么设置hellow程序开机启动的方法如程序清单 1!/usrb/,可以直接删除
export TSLIB_PLUGINDIR=/,you can delete it 下面是启动QT界面的指令;hellow
#start qt command.d/dev/,将要执行的指令添加到里面;sh
#you can add your app start_command three
/home/。
程序清单1;ts0
/
export TSLIB_CONFFILE=/。若用户有一个hellow的程序放在/start_userapp;start_zylauncher &
如果程序是一个阻塞程序(程序被运行后不会退出或返回);目录中,可以通过vi命令编辑/。
当用户需要EasyARM-iMX283在开机启动后就运行指定的应用程序或指令时,并且始终占用串口终端其实楼主的问题很专业;zylauncher/,之前我在周立功那边也了解过不少;ts;usrb/usr/。对于此类应用程序,如下所示;etc/:/input/dev/rc.1红色部分所示;home/pointercal
export QT_QWS_FONTDIR=/,可以在其后面添加“ &”(注意:
/
可以把需要运行的指令放到/etc/rc.local中
⑹ 如何让linux系统开机自动启动我的程序
试试以后台方式自启动你需要运行的程序,./app.out
&,就是在后面加上个&符号,而且我记得linux里面自启动程序在/etc/init.d/rcs里面吧。
⑺ Linux开机自启
开机启动读取的所有文件检查一次,然后把登录用户读取的文件所有都检查一次。你这个任务可能不只是写在了rc.local,rc.local仅仅是开机启动的最常用修改文件,开机启动会读好几个文件的,对应的顺序也不一样
⑻ linux 开机启动项怎么设置
运行级就是操作系统当前正在运行的功能级别。这个级别从1到6 ,具有不同的功能。
不同的运行级定义如下
# 0 - 停机(千万不能把initdefault 设置为0 )
# 1 - 单用户模式 # s init s = init 1
# 2 - 多用户,没有 NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 - 没有用到
# 5 - X11 多用户图形模式(xwindow)
# 6 - 重新启动 (千万不要把initdefault 设置为6 )
这些级别在/etc/inittab 文件里指定。这个文件是init 程序寻找的主要文件,最先运行的服务是放在/etc/rc.d 目录下的文件。在大多数的Linux 发行版本中,启动脚本都是位于 /etc/rc.d/init.d中的。这些脚本被用ln 命令连接到 /etc/rc.d/rcn.d 目录。(这里的n 就是运行级0-6)
chkconfig 命令有五项功能:添加服务,删除服务,列表服务,改变启动信息以及检查特定服务的启动状态。
语法为:
chkconfig --list [name]
chkconfig --add name
chkconfig --del name
chkconfig [--level levels] name
chkconfig [--level levels] name
chkconfig 没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回 true,否则返回false。 --level 选项可以指定要查看的运行级而不一定是当前运行级。
如果在服务名后面指定了on,off 或者 reset,那么 chkconfig 会改变指定服务的启动信息。on 和 off 分别指服务在改变运行级时的启动和停止。reset 指初始化服务信息,无论有问题的初始化脚本指定了什么。
对于 on 和 off 开关,系统默认只对运行级 3,4, 5有效,但是 reset 可以对所有运行级有效。指定 --level 选项时,可以选择特定的运行级。
需要说明的是,对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init 不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。
选项介绍:
--level levels
指定运行级,由数字 0 到 7 构成的字符串,如:
--level 35 表示指定运行级3 和5。
要在运行级别3、4、5中停运 nfs 服务,使用下面的命令:chkconfig --level 345 nfs off
--add name
这个选项增加一项新的服务,chkconfig 确保每个运行级有一项 启动(S) 或者 杀死(K) 入口。如有缺少,则会从缺省的init 脚本自动建立。
--del name
用来删除服务,并把相关符号连接从 /etc/rc[0-6].d 删除。
--list name
列表,如果指定了name 那么只是显示指定的服务名,否则,列出全部服务在不同运行级的状态。
运行级文件
每个被chkconfig 管理的服务需要在对应的init.d 下的脚本加上两行或者更多行的注释。
第一行告诉 chkconfig 缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。
第二行对服务进行描述,可以用 跨行注释。
例如,random.init 包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for
# higher quality random number generation.
表明 random 脚本应该在运行级 2, 3, 4, 5 启动,启动优先权为20,停止优先权为 80。
好了,介绍就到这里了,去看看自己目录下的/etc/rc.d/init.d 下的脚本吧。
设置自启动服务:chkconfig --level 345 nfs on
配置启动项方法
命令行模式
#service servicename status是当前状态
#chkconfig --list servicename是查看启动状态,也就是是否开机自动启动
#chkconfig --list 列出所有开机启动项#chkconfig --level 345 xx off 把不想启动的项345级别设置为off(关闭)(服务名xx)
界面模式终端中直接输入#ntsysv
Linux启动项说明
apmd--apmd用来监视系统用电状态,并将相关信息通过syslogd写入日志。也可以用来在电源不足时关机
arpwatch--用来维护以太网物理地址和ip地址的对应关系
atd--运行用户用at命令调度的任务。也在系统负荷比较低时运行批处理任务
autofs--当您需要时自动转载文件系统,而当您不需要时自动卸载
chargen--tcp版本的chargen server
chargen-udp--udp版本的chargen server
crond--周期地运行用户调度的任务。比起传统的unix版本添加了不少属性,而且更安全,配置更简单
daytime--tcp版本的daytime server
daytime-udp--udp版本的daytime server
echo--tcp版本的echo server
echo-udp--udp版本的echo server
eklogin--接受rlogin会话鉴证和用kerberos5加密的一种服务
finger--用于应答finger请求的服务
gpm--为文本模式下的linux程序提供了鼠标的支持。它也支持控制台鼠标的拷贝,粘帖操作以及弹出式菜单 (必须)
gssftp--接受可被kerberos5验证的ftp连接
httpd--http是着名的www服务器,可用来提供html文件以及cgi动态内容服务
identd--提供验证身份的方法
ipchains--ipchains包过滤防火墙
iptables--iptables包过滤防火墙
ipvsadm--调用ipvsadm来建立和维护ipvs路由选择表
isdn--启用isdn(综合服务数字网)服务
kadmin--更改在主控kdc中使用本机的kadmin工具,或透过kadmin服务来完成
kdcrotate--设置配置文件/etc/krb5.con中的kdcs表项
keytable--该程序的功能是转载您在/etc/sysconfig/keyboards里说明的键盘映射表
klogin--接受bsd方式的rlogin会话,但需要使用kerbeos5验证
kprop--是否允许kdc接收来的master kdc的升级
krb5-telnet--允许普通的telnet登陆,但也可使用kerberos5验证
krb524--是以改变kerberos5到kerberosIV的赁证
krb5kdc--开启kerberosIV和5所需的连接以获得赁证
kshell--接受rshell命令鉴证和用kerberos加密的服务
kudzu--运行硬件检测,并可选择性地设置硬件变化
lpd--lpd是系统打印守护程序,负责将lpr等程序提交给打印作业
netfs--负责装载/卸载nfs、samba、ncp文件系统
network--激活/关闭启动时的各个网络接口 (必须)
nfs--nfs是一个流行的基于tcp/ip网络的文件共享协议.该服务提供了nfs文件共享服务
nfslock--提供nfs文件上锁功能
nscd--该服务负责密码和组的查询,并且缓冲查询结果
portmap--portmap用来支持rpc连接,rpc被用于nfs以及nis等服务
postgresql--postgresql关系数据库引擎
random--保存和恢复系统的高质量随机数生成器,这些随机数是系统一些随机行为提供的
rlogin--rlogin程序服务,提供来自远程信任主机的注册功能
routed--该守护程序支持rip协议的自动ip路由表维护.rip主要使用在小型网络上,大一点的网络就需要复杂一点的协议
rsh--提供rcmd程序或者rsh程序的服务
rstatd--rstat协议允许网络上的用户获得同一网络上各机器的性能参数
rsync--对ftp服务的一个很好的附加,允许循环码求和校验等
rusersd--该服务使网络用户可以定位同一网络上的其他用户
rwalld--rwall协议允许远程用户向在同一系统中活跃着的终端发送消息,类似wall的本地行为
rwhod--允许远程用户获得运行rwho精灵的机器上所有已登录用户的列表,与finger类似
smb--启动和关闭smbd和nmbd精灵程序以提供smb网络服务
snortd--一个轻量级的网络入侵检测工具
swat--samba网络配置工具,可以通过流览器的901端口连接使用swat
syslog--syslog是操作系统提供一种机制,守护程序通常使用这些机制将各种信息写到各个系统日志文件 (必须)
telnet--提供telnet服务,使用未加密的用户/密码组进行验证
time--tcp版本的rfc 868 time server
time-udp--udp版本的rfc 868 time server
webmin--webmin是基于web的集系统管理与网络管理于一身的强大管理工具
xfs--在引导和关闭时启动和停上x字体服务,并可能重新生成字体表 (必须)
xinetd--因特网操作服务程序。提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全,监控网络对各种它管理的服务的需求,并在要的时候启动相应的服务程序
ypbind--实现网络信息服务的服务器端
redhat 下常用服务介绍
anacron 不考虑系统downtime期间的cron服务
amd 自动安装NFS守候进程
apmd 高级电源管理
arpwatch 记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库
atd 用于at和batch的服务
autofs 自动安装管理进程automount,与NFS相关,依赖于NIS
crond 为Linux下自动安排的进程提供运行服务.
Gpm 提供字符模式下对鼠标的支持.
Keytable 用于装载键盘镜像
Kudzu 硬件探测器
Netfs 安装和卸载NFS、SAMBA和NETWARE网络文件系统
Network 激活已配置网络接口的脚本程序
Nfslock NFS锁定
Pcmcia 安装pcmcia卡(一般用于笔记本电脑)
Sshd OpenSSH服务器
Syslog 一个让系统引导时启动syslog和klogd系统日志守候里程的脚本
Xfs Xwindow字型服务器,为本地和远程X服务器提供字型集
Xinetd 支持多种网络服务的核心守候程序。