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应用程序自启动怎么设置?
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桌面环境下自动启动程序?
我在本教程中将介绍如何在各种Linux桌面环境下,自动启动某个程序。 GNOME桌面环境 在终端中运行这个命令,启动”Startup Applications Preferences”(启动应用程序首选项)GUI。 $ gnome-session-properties 点击”Add”(添加)按钮,即可配置一个新的启动应用程序。分别往”Name”(名称)栏和”Command”(命令)栏里面键入该应用程序的名称和该应用程序的CLI命令。往”Comment”(注释)栏里面键入可选的描述。 Unity桌面环境 在Unity Dash中键入”startup”(启动)。一旦”Startup Application”(启动应用程序)图标出现,就点击该图标。 一旦”Startup Applications Preferences”(启动应用程序首选项)窗口打开,输入”Name”(名称)、”Command”(命令)和”Comment”(注释),即可配置自动启动的某个程序。 KDE桌面环境 首先,打开”System Settings”(系统设置)窗口。你会在System Administration(系统管理)下面找到”Startup and Shutdown”(启动和关闭)图标。点击该图标。 系统会要求你从一系列已知的应用程序中选择自动启动的某个应用程序。如果你的程序没有列出来,在上面空白区输入该应用程序的名称。如果该程序(比如CLI命令)将在终端中运行,就要选中”Run in terminal”(终端中运行)复选框。点击”OK”(确定)按钮。 下一步,系统要求你输入该应用程序的详细信息,包括名称、命令和描述。 之后,你会看到该程序已完成配置,可自动运行。想配置额外的启动程序/脚本,你可以点击右边侧边栏中的”Add Program”(添加程序)按钮或”Add Script”(添加脚本)按钮。 MATE桌面环境 在MATE桌面上,依次进入到”Applications”(应用程序)-> “Preferences(首选项)-> “Startup Applications”(启动应用程序)。 你会看到”Startup Applications Preferences”(启动应用程序首选项)窗口。点击”Add”(添加)按钮。 输入启动应用程序的详细信息:”Name”(名称)、”Command”(命令)和”Comment”(注释)。 Xfce桌面环境 从Xfce桌面菜单中选择”Settings Manager”(设置管理器)。在”Settings”(设置)窗口中,点击”Session and Startup”(会话和启动)图标。 在”Application Autostart”(应用程序自动启动)选项卡下,点击底部的”Add”(添加)按钮。 输入自动启动的某个程序的详细信息:”Name”(名称)、”Command”(命令)和”Description”(描述)。 LXDE桌面环境 想在LXDE桌面环境下配置启动应用程序,只需在终端中运行下面几个命令。 $ mkdir -p ~/.config/lxsession/Lubuntu/ $ touch ~/.config/lxsession/Lubuntu/autostart $ leafpad autostart 然后,把下面这一项添加到已创建的自动启动文件中: @conky 这里,”conky”是登录后,我想自动运行的那个CLI命令的名称。 保存并关闭。
如何让linux启动自动运行指定程序?
就是重启啊……仅仅修改配置有的时候可以使用SIGHUP,这个信号本来是用于终端挂断时通知的,许多后台服务会特别处理这个信号,在遇到这个信号时重新加载配置或者执行重新启动过程。
但是更新软件并不在这个范围内,一定会使用service stop来结束旧的服务,然后用service start启动新的服务,因为没法保证旧的服务运行状况正常,且SIGHUP的处理没有bug,更不要说很多服务并不会真的从可执行程序重启而是重新加载一下配置或者重新走一遍启动流程。
在Linux上升级时自动重启是通过RPM包中自带的脚本进行的,RPM包的spec中可以指定preinstall, postinstall等段来在指定时机执行特定的脚本,比如preinstall的时候停止服务,postinstall的时候根据参数,如果$1是1表示执行update,自动启动服务;否则暂不启动服务,给用户一个修改配置文件的机会。
大部分Linux服务的实现比Windows上更简单,很多就是在main()当中用while(1){}做一个死循环,利用SIGNAL的默认处理程序退出。
并没有复杂的机制用来热更新。