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

Linux环境下,想让程序一开机就自己跑起来,路子有不少。
最老派也最直白的方法,就是去改改“/etc/rc.local”这个文件,在它最后头加上你要启动的程序全名。
比如说,如果你有个脚本在“/opt”目录下,叫“haha.sh”,那就在“/etc/rc.local”文件的末尾加上“/opt/./haha.sh”这行指令。
当然了,你也可以先用“cd /opt”导航到脚本所在目录,再直接敲“./haha.sh”来运行它。

还有一种时髦点的办法,叫crontab,它有点像Windows的任务计划程序。
用crontab,你可以给程序排好时间表,比如定好每天早上8 点或者每周一上午1 0点自动执行。
要是想看看现在都安排了啥,就输入“crontab -l”。
想改改时间表?用“crontab -e”,它其实会让你用vi编辑一个特定的文件。
要是想删掉某个计划,虽然有个“crontab -d”命令,但一般咱们都是通过“crontab -e”进去,手动删掉那些不需要的行。

用crontab来设置开机启动,得把时间表给整对。
比如,要想让程序每天早上8 点跑起来,可以这么写:“0 8 /path/to/your/script”。
这里的“0 8 ”就代表每天8 点,后面就跟上你要执行的程序路径。

除此之外,还有systemd这大神器可以实现开机启动。
你先得搞个“.service”文件,比如叫“myapp.service”,在里面说清楚启动命令是啥。
然后,用“sudo systemctl enable myapp.service”这命令,让它开机自启。

不过要注意的是,Linux发行版五花八门,支持的工具可能也不一样。
systemd是挺新的玩意儿,但有些老发行版可能还在用sysvinit或者upstart这些老古董。
所以选方法的时候,得看你的系统支持啥。

总之,Linux系统给咱们提供了好几种让程序开机自启的路子。
根据你的需求和系统情况,选个合适的,就能保证你的程序在点儿上自动运行了。

linux启动服务命令linux自启动的几种方式

一般来说,为了让诸如mysql、tomcat、Nginx这类服务在系统重启后自动运行,我们可以采用几种不同的方法。
下面将通过这些服务为例,具体说明如何实现开机自启动。

第一种方法是通过cron定时任务来运行一个自定义的shell脚本。
在这个脚本中,你可以编写启动nginx、mysql等服务的命令。
不过,前提是这个脚本必须先经过调试,确保能够正常启动服务。

第二种方法是使用Linux系统中的supervisor来管理进程。
supervisor是一个基于C/S架构的进程控制系统,能够帮助用户在类UNIX系统中监控和管理进程,特别适合于管理特定用户或项目的进程。
它主要包括以下几个部分:supervisord作为服务守护进程、supervisorctl作为命令行客户端、WebServer提供与supervisorctl类似功能的WEB操作界面以及XML-RPC接口。
关于supervisor的安装和基本配置,可以参考之前的内容:安装supervisor程序、配置supervisor配置文件、设置supervisor开机自启动。
而Nginx、tomcat等服务的配置可以参考以下示例脚本:shell !/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin PROGNAME=supervisord DAEMON=/usr/bin/$PROGNAME CONFIG=/etc/$PROGNAME.conf PIDFILE=/tmp/$PROGNAME.pid DESC="supervisord daemon" SCRIPTNAME=/etc/init.d/$PROGNAME Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 start() { echo -n "Starting $DESC: $PROGNAME" $DAEMON -c $CONFIG echo "..." } stop() { echo -n "Stopping $DESC: $PROGNAME" supervisor_pid=$(cat $PIDFILE) kill -1 5 $supervisor_pid echo "..." } status() { ps -ef | grep supervisord } case "$1 " in start) start ;; stop) stop ;; status) status ;; restart) stop start ;; ) echo "Usage: $SCRIPTNAME {start|stop|restart|status}" >&2 exit 1 ;; esac exit 0
第三种方法是利用Linux服务器自带的service功能来自动启动服务。
在Linux系统中,常见的发行版本包括Redhat系列(如Centos)和Debian系列(如debina和Ubuntu)。
关于nginx的开机启动服务,Linux系统中的service命令因版本不同而有所差异。
通常,Linux系统会将进程保存在/etc/init.d目录下,你可以将nginx、tomcat、mysql等服务的启动脚本放在这个目录中,并通过命令将脚本加入自启动进程。
对于Redhat系列的系统,如Centos,可以使用chkconfig命令;而Debian系列的系统,如Ubuntu,则可以使用sysv-rc-conf命令。

第四种方法是直接修改/etc/rc.local文件。
在这个文件的末尾(但在exit 0之前)添加一行启动脚本的命令,例如:shell /opt/apache-tomcat-7 .0.2 9 /bin/startup.sh
这里需要确保脚本路径是正确的。
添加完成后,重启系统测试是否能够自动启动服务。

通常,以上几种方法都可以帮助配置服务在开机时自动启动。
后续会分享更多关于这些服务启动脚本的信息。

如何在linux里面设置程序自动启动?

要让你的脚本在Linux系统启动时自动运行,你可以采取以下步骤:首先,找到或创建一个脚本文件,比如我有一个脚本叫shell.sh,存放在/home/mars7 04 /Desktop目录下。
然后,你需要编辑/etc/init.d/rc.local文件,在文件的末尾添加一行,内容是脚本的路径,例如:/home/mars7 04 /Desktop/sh.sh。
这样,每次系统启动时就会执行这个脚本。

Linux系统中的服务启动脚本都存放在/etc/init.d目录下。
这个目录中的每个文件都是一个脚本,它定义了系统应该如何启动服务。
此外,/etc目录下还有rc1 .d到rc6 .d这些目录,它们代表不同的运行级别(runlevel)。
通常我们使用的图形界面环境,即X Windows,运行在第五个运行级别,对应的目录是rc5 .d。
这个目录中的脚本会在第五个运行级别启动时被运行。

值得注意的是,rc1 .d到rc6 .d目录中的脚本实际上是/etc/init.d目录中相应脚本的软链接。
也就是说,/etc/init.d包含了所有的服务脚本,而rc1 .d到rc6 .d则根据需要链接了特定的脚本。

如果你想启动某个特定的程序,比如scim,首先需要确定它的位置。
可以使用locate命令来查找,scim通常位于/usr/bin/scim。
其中,usr表示用户目录,bin表示可执行文件。
一旦找到程序的位置,你可以创建一个脚本,并将其放置在/etc/init.d目录中,然后在rc5 .d目录中创建一个指向该脚本的软链接。

这个脚本可以非常简单,比如包含两行内容:第一行是!/bin/bash,声明脚本使用的解释器;第二行是/usr/bin/scim,即要执行的命令。

在rc5 .d目录中,每个软链接的名字都以S或K开头。
以S开头的链接表示该服务会在系统启动时自动运行,而以K开头的则不会。
所以,如果你想让某个服务在启动时自动运行,需要将链接名的首字母从K改为S。
当然,如果你将S改为K,那么该服务就不会自动启动了。
因此,为了确保脚本能够自动启动,你需要将链接命名为SXXX的形式。

在Red Hat系统中,rc.local文件是默认在系统启动时执行的最后一个脚本。
因此,如果你想通过这种方式让脚本自动运行,只需在rc.local文件的末尾添加一行,内容是脚本的路径,例如:/usr/bin/scim。

如何在Linux中设置服务自启动

在Linux系统中,我们有时需要让系统在启动时自动加载特定的脚本或服务。
这通常可以通过三种方法来实现:使用ln -s在/etc/rc.d/rc.d目录中为/etc/init.d目录下的服务创建软链接(代表0到6 的七个运行级别之一),利用chkconfig命令行设置运行级别,以及通过ntsysv伪图形界面进行运行级别设置。

需要注意的是: 1 . 这些方法主要适用于基于Red Hat的发行版。
2 . 如果你对运行级别不熟悉,最好先查阅相关资料再进行操作。

第一种方法:使用ln -s建立启动软连接 Linux系统中有七个运行级别,这些级别可以在/etc/inittab文件中设置,每个级别对应/etc/rc.d/rc[0~6 ].d目录中的一个目录。
值得一提的是,/etc/rc[0~6 ].d实际上是/etc/rc.d/rc[0~6 ].d的软链接,这是为了与Unix系统保持兼容而做的设置。
在这些目录中,每个目录包含了对应运行级别在启动或关闭时需要加载的服务脚本。
实际上,每个脚本文件都对应着/etc/init.d目录下的具体服务。
以S开头的脚本文件表示在运行级别加载时需要执行的服务,而以K开头的脚本文件则表示需要关闭的服务。
因此,如果想要在开机时启动自己的脚本,只需将可执行脚本放置在/etc/init.d目录下,然后在/etc/rc.d/rc.d目录中为其创建软链接即可。
例如,使用命令ln -s /etc/init.d/sshd /etc/rc.d/rc3 .d/S1 00ssh可以在运行级别3 下启动sshd服务。
如果需要在多个运行级别下设置自启动,则需要为每个级别创建相应的软链接。
这种方法相对繁琐,但适用于自定义服务脚本。

第二种方法:使用chkconfig 如果需要设置服务的自启动,只需使用chkconfig 服务名 on命令即可。
若要关闭自启动,将on改为off。
默认情况下,chkconfig会自动在运行级别2 到5 下启动服务。
如果需要自定义启动级别,可以使用--level选项。
例如,可以使用chkconfig sshd off命令关闭sshd服务的所有启动级别,然后使用chkconfig --level 3 4 5 sshd on命令在运行级别3 、4 、5 下启动该服务。
使用--list选项可以查看指定服务的启动状态,而chkconfig不带任何选项时则会显示所有服务的状态。

第三种方法:使用ntsysv伪图形界面 ntsysv与chkconfig功能相似,只是提供了图形界面。
启动ntsysv可以通过在命令行中输入ntsysv或使用setup命令并选择系统服务来完成。
默认情况下,在ntsysv中设置的启动服务级别将与当前运行级别相同。
例如,如果当前运行级别为3 ,那么在ntsysv中选择启动服务后,该服务也将在运行级别3 下启动。
如果需要自定义运行级别,可以使用ntsysv --level命令。

以上三种方法都需要确保服务脚本文件是可执行的,并且需要具有root权限。
第一种方法更适用于自定义脚本,而第二、三种方法则更常用于系统已存在的服务,如ftp、samba、ssh、httpd等。
在进行相关设置之前,需要先了解运行级别的问题。