Linux shell脚本如何自动运行程序并输入命令?
我建议你使用shell的spawn命令,很好用的,能实现你说的功能!Linux shell脚本如何自动运行程序并输入命令
linux下实现一个开机自动运行重启网络的批处理文件?
先写一个脚本放在/etc/init.d下面,脚本名字叫network_restart.sh #!/bin/bash case”$1″in start) sudo/etc/init.d/networkingrestart ;; *) exit1 ;; esac exit0 然后chmod755network_restart.sh 最后在shell中运行update-rc.dnetwork_rstart.shstart40x. 这里的x换成你的runlevel。
如何让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的默认处理程序退出。
并没有复杂的机制用来热更新。
Linux系统可以让主机自启动吗?
开机启动时自动运行程序Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。
通常情况下,修改放置在/etc/rc或/etc/rc.d 或/etc/rc?.d目录下的脚本文件,可以使init自动启动其它程序。例如:编辑/etc/rc.d/rc.local 文件(该文件通常是系统最后启动的脚本),在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window。
linux的定时重启的具体命令。非常感谢?
Linux系统利用Crontab命令实现定时重启Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序使用cron服务,用servicecrondstatus查看cron服务状态,如果没有启动则servicecrondstart启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务:crontab-u//设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数crontab-l//列出某个用户cron服务的详细内容crontab-r//删除没个用户的cron服务crontab-e//编辑某个用户的cron服务比如说root查看自己的cron设置:crontab-uroot-l再例如,root想删除fred的cron设置:crontab-ufred-r、编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab-uroot-e进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1****ls>>/tmp/ls.txt编辑/etc/crontab文件,在末尾加上一行:305***rootinit6这样就将系统配置为了每天早上5点30自动重新启动。需要将crond设置为系统启动后自动启动的服务,可以在/etc/rc.d/rc.local中,在末尾加上servicecrondstart如果还需要在系统启动十加载其他服务,可以继续加上其他服务的启动命令。比如:servicemysqldstart基本用法:1.crontab-l列出当前的crontab任务2.crontab-d删除当前的crontab任务3.crontab-e(solaris5.8上面是crontab-r)编辑一个crontab任务,ctrl_D结束4.crontabfilename 以filename做为crontab的任务列表文件并载入 crontabfile的格式: crontab文件中的行由6个字段组成,不同字段间用空格或tab键分隔。前5个字段指定命令要运行的时间 分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期几(0-6,其中0代表星期日) 第6个字段是一个要在适当时间执行的字符串 例子: #MINHOURDAYMONTHDAYOFWEEKCOMMAND #每天早上6点10分 106***date #每两个小时 0*/2***date(solaris5.8似乎不支持此种写法) #晚上11点到早上8点之间每两个小时,早上8点 023-7/2,8***date #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 0114*mon-weddate #1月份日早上4点 041jan*date 补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export) (1)先建一个文件crond.txt如下,每天早上5点36分重新启动 365***reboot (2)上传到/opt目录 (3)运行命令 crontab/opt/crond.txt crontab-l 让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。 在Fedora和Redhat中,我们应该用; #/etc/init.d/crondrestart 如果让crond在开机时运行,应该改变其运行级别; #chkconfig–levels35crondon servicecrondstatus查看cron服务状态,如果没有启动则servicecrondstart启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务