linux启动时运行命令 linux 启动执行命令

linux开机自启动命令用户想要在linux开机的时候自启动相关的程序 。那我们要怎么设置呢?下面由我为大家整理了linux下开机自启动命令的相关知识,希望对大家有所帮助!
linux下开机自启动命令
1.开机启动时自动运行程序
Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init 。init根据配置文件继续引导过程 , 启动其它进程 。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序 。
例如:编辑 /etc/rc.d/rc.local 文件,在文件最末加上一行"xinit"或"startx",可以在开机启动后直接进入X-Window 。
扩展:其他情况下linux自启动程序命令
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"的程序("*"表示不管当天是星期几) 。(/etc/crontab中配置命令即可)也可以
5.定时自动运行程序一次
定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复 。at命令的一般格式为:at [ -f file ] time , 在指定的时间执行file文件中所给出的所有命令 。也可直接从键盘输入命令:
6.创建开机自启动脚本
1) 将你的启动脚本复制到 /etc/init.d目录下
以下假设你的脚本文件名为 test 。
2) 设置脚本文件的权限
$ sudo chmod 755 /etc/init.d/test
3) 执行如下命令将脚本放到启动脚本中去:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可 。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了 。该命令的输出信息参考如下:
【linux启动时运行命令 linux 启动执行命令】update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see
卸载启动脚本的方法:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
命令输出的信息参考如下:
Removing any system startup links for /etc/init.d/test … /etc/rc0.d/K95test /etc/rc1.d/K95test /etc/rc2.d/S95test /etc/rc3.d/S95test /etc/rc4.d/S95test /etc/rc5.d/S95test /etc/rc6.d/K95test
linux设置开机自启动linux设置开机自启动执行命令 :
执行命令 : 编辑"/etc/rc.local",添加你想开机运行的命令
运行程序脚本 :然后在文件最后一行添加要执行程序的全路径 。
例如 , 每次开机时要执行一个hello.sh,这个脚本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh" , 或者" cd /opt./hello.sh "
注意,你的命令应该添加在:exit 0 之前
linux在“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件 Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可 。系统服务的启动就是通过这种方式实现的 。
简单的说,运行级就是操作系统当前正在运行的功能级别 。
例:在Ubuntu/debain里 , 可以使用update-rc.d命令来把示例脚本:/etc/init.d/proxy安装到各个runlevel中 。
update-rc.d后面有三个参数 , 分别是/etc/init.d下的脚本名字,默认安装方式,运行的优先级 。优先级的数字越大,表示越迟运行,这里我们把自己写的服务放在最后运行 。
如果要卸载随机启动的服务,执行
在update-rc.d安装的时候提示了警告信息,是因为我们写的/etc/init.d/proxy太简陋了,只包含了我们想要的命令,连LSB的信息也没有提供 。
只需要对自启动脚本做一些小改动 , 就可以避免那个警告了 。如下:
到此,一个最简单的随机启动服务写好了,看起来文章挺长的,但其实也就几个命令而已 。在下次开机启动的时候 , proxy.py就会以root用户身份被自动运行 。
在/etc/init.d下新建示例脚本文件(startTest.sh),该脚本会启动/opt/test.sh 。内容如下:
写了脚本文件之后事情还没有完,继续完成以下几个步骤:
怎么样配置linux使其启动时直接登录到命令行模式?1、首先在桌面模式下,右键点击open in terminal进入命令行 。
2、vi /etc/inittab文件进入文件最后一行修改 id:5:initdefault,将数字5改为3,保存后重启即可 。
把/etc/inittab中的默认启动级别设为3
七个运行级别分别是:
0:直接关机
1:单用户模式
2:没有NFS服务
3:完整含有网络功能的纯文本模式
4:系统保留功能
5:图形界面
6:重启
linux 开机自动执行两行命令1、打开终端输入以下的命令$crontab-e 。
2、进入选择editor,直接enter回车 。
3、接着我们会进入如下的编辑窗口 。
4、在后面我们填写如图所示 。
5、然后我们“ctrl x”进行保存,输入“Y”回车确定 。
6、填写文件名 , 可以默认直接回车 。
7、等一分后,我们发现用户目录多个123文件,打开里面时间日期,每分钟都会呢更新 。
注意事项:
Linux不仅系统性能稳定,而且是开源软件 。其核心防火墙组件性能高效、配置简单,保证了系统的安全 。在很多企业网络中,为了追求速度和安全,Linux操作系统不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的 一大亮点 。
怎么在linux启动的时候执行一个命令?有两种方式:一种方式是根据运行级别配置服务,一种方式是执行本地特殊配置 。
举例 , 任务是启动时运行命令cvslockd:
方式一:
1、 建立自启动脚本/etc/rc.d/init.d/cvslockd,内容为:
#!/bin/bash
/usr/local/bin/cvslockd
设置文件的属性为可执行:
#chmodx /etc/rc.d/init.d/cvslockd
2、查看计算机运行级别,在文件/etc/inittab里看到id:5:initdefault:,则此系统运行级别为5;
3. 到/etc/rc5.d目录下,把你要执行的可执行文件做一个软连接,而且在命名的时候要以大写S字母开头 , S之后的数字大小代表执行顺序的先后,数字越大越后执行 。
#ln -s /etc/rc.d/init.d/cvslockd /etc/rc5.d/S100cvslockd
#ln -s /etc/rc.d/init.d/cvslockd /etc/rc0.d/K20cvslockd
方式二:
在/etc/rc.d/rc.local 添加 exec /usr/local/bin/cvslockd
该方式是在最后启动cvslockd 。
linux开机自动执行命令和脚本 自动启动 自启 进程一直运行原文及更新:
直接在/etc/rc.local(/etc/rc.d/rc.local)文件中添加即可
上面这脚本实际上在使用时出现了问题 , /home/neucrack/software/ss/start_ss_local.sh 这个命令始终没有被执行,原因是 /home/neucrack/software/ss/start_kcptun_client.sh 中的命令阻塞了进程,导致后面一句始终没有执行,可以将他们分别放到后台执行就行了,如何在后台执行可以看文章最后一部分
也可以自己手动在rc*.d中建立软连接
桌面系统搜索 启动 ,打开启动管理器 添加删除即可
一般有以下几种方法:
1)在输入命令的最前面加上 nohup 命令
如 nohup your_command这样命令在你退出后仍然会在后台执行
2) setsid 命令
setsid your_command 该命令的结果是使你所运行的命令的父进程为init,所以只有关机该进程才会停止
3) (your_command )
就是用括号将你的命令括起来,这样做也是使命令的父进程为init
4) disown
当你在命令行下输入 your_command后命令就在后台执行了,然后执行jobs命令 , 该命令会列出当前正在后台执行的命令 。例如输入命令“top”
然后执行"jobs"
输出结果是
[1]Suspended (tty output) top
注意行开头方括号内的数字,该数字叫做jobspec,是给当前后台运行的job的编号 。这是你只要在命令行下输入"disown -h 1" 后台运行的top命令就不会受到hangup信号的影响了 。
5)使用 screen 命令
在命令行下输入screen命令就开启了一个screen进程,它就好像是一个全新的命令运行环境,在该环境中你可以像在正常的terminal下那样执行
命令,但是这个screen是不受其父进程的hangup信号的影响的,既然screen不受其父进程影响,当你意外掉线或者退出系统时,在screen
中仍在执行的命令仍然会继续执行 。关于screen命令的使用方法你可以再去查阅相关资料 。
关于linux启动时运行命令和linux 启动执行命令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读