windows和linux开机自启动设置


Windows

1,启动快捷方式   开始》程序》启动 文件夹中拷贝进去需要开机启动的程序快捷方法,此方法需要相应用户登录系统
2,注册为服务,设置启动方式为自动
   a,    sc命令
           sc create ResharperServices binpath= D:\ResharperServices\JetBrainsLicenseServer\windows\dvt-jb_licsrv.amd64.exe type= own start= auto displayname= ResharperServices
           sc start 服务名      sc stop 服务名     sc delete 服务名    sc qr 服务器名
   b,    修改注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%s,程序路径(AppDirectory),服务名称(Application)

   c,    C代码实现
         1)    需要实现SERVICE_TABLE_ENTRY ServiceTable [],表明服务名及入口方法
                SERVICE_STATUS ServiceStatus(服务状态);和   ServiceHandler 服务消息处理方法入口
                // 启动服务的控制分派机线程
                StartServiceCtrlDispatcher(ServiceTable);

        2)    hServiceStatusHandle = RegisterServiceCtrlHandler(_T(SERVICE_NAME), ServiceHandler);
               判断hServiceStatusHandle的值,成功后继续执行具体的应用处理代码。自己的代码一般开启线程执行,与主服务通过事件交互。


Linux
1,    修改开机启动脚本
修改/etc/rc.local(/etc/rc.d/rc.local) 脚本,放入自己的执行代码
例如 su – asocusr –c ‘/opt/app/t24asoc-oceangw-swift/bin/start.sh’

2,    注册为服务
在/etc/init.d/下编写相关的启动脚本,脚本内export相应环境变量
执行命令:
 chmod +x /etc/init.d/tomcat
挂载,执行命令:
  ln -s  /etc/init.d/tomcat /etc/rc2.d/S16tomcat    
#S:开机自启动  K:停止 100:启动顺序(数值小的先执行,数值大的后执行),rc2.d系统等级2
设置开机自启动,执行命令
 chkconfig --add tomcat
chkconfig --level 2345 tomcat on  (2 3 4 5 级自动启动)
此时我们使用chkconfig  --list |grep tomcat命令,可以发现Tomcat加入了chkconfig,也就能通过修改其运行等级来实现开机启动与否。而且Tomcat可以使用service tomcat start/stop/restart命令进行开启/关闭/重启。
重启电脑,验证Tomcat是否开机重启。
其他程序的脚本文件可能会有些变化,比如说有些程序没有自带的关闭脚本(如Tomcat的shutdown.sh脚本),也有可能启动脚本的名字不叫start.sh,具体的服务按照具体情况修改。


备注:
linux服务器等级
345就是需要开启(由off变成on)的数字,而不加—level参数时,默认打开的是2~5
0~6对应的运行级别如下:
Linux系统有7个运行级别(runlevel)
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

转载于:https://www.cnblogs.com/widget90/p/11267981.html

你可能感兴趣的:(windows和linux开机自启动设置)