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