windows7&10使用任务计划程序设置程序开机自启全解(提供开机自启exe程序和后台自启java程序示例)

本文详细介绍了如何在Windows10环境下,通过任务计划程序实现开机自启动exe程序和Java程序,包括设置开机免密登录、创建基本任务、配置触发器等关键步骤。
摘要由CSDN通过智能技术生成

前言

      最近在window下部署程序时需要做一个开机自启,没预料到会遇到那么多问题,尝试了几种方法最终还是选择了任务计划程序,使用这个任务计划程序也会遇到一些问题,本文会对配置window任务计划程序开机自启做详细讲解。

环境说明:我这里演示是用的win10,win7也差不多

一、前置问题说明

      配置任务计划程序设置程序开机自启之前要注意几个问题,对于一般业务场景来说肯定是计算机重启后需要直接进入桌面,如果还需要登录的话就必须要人为操作了,这里需要做到不用手动登录,我的做法是把用户密码制空。

1.1、开机免密登录设置(如果没有设置密码直接跳过)

  • 找到我的电脑或者此电脑右击选择属性 -> 在设置页面查找登录选项单击进入
    在这里插入图片描述
  • 点击登录选项找到密码,点击更改
    在这里插入图片描述

在这里插入图片描述

  • 如果之前有设置密码上一步会让输入密码,输入之后会让设置新密码,这里不设置直接下一页完成即可,设置好后登录就不需要密码了。
    在这里插入图片描述

二、任务计划程序配置(配置开机自启exe程序)

2.1、创建基本任务

找到我的电脑或者此电脑右击选择管理-> 找到任务计划程序右击选择创建基本任务
在这里插入图片描述

2.2、设置任务名称

任意输入一个名称点击下一步
在这里插入图片描述

2.3、选择任务触发时机

选择计算机启动时,选择好后点击下一步
在这里插入图片描述

2.4、选择任务操作

默认选择启动程序,不用调整点击下一步
在这里插入图片描述

2.5、选择启动exe程序或者脚本

这里可以选择一个要启动的exe程序(快捷方式也可以)也可以选择一些自定义脚本,比如.bat脚本,后面会说如果启动自定义脚本,这里先启动自带的浏览器程序
在这里插入图片描述
在这里插入图片描述

2.6、完成基本任务创建

在这一步需要将 《当单机“完成”时,打开此任务属性的对话框》的选项勾选上,后面还要配置一些东西,勾选上点完成
在这里插入图片描述

2.7、配置任务属性

在上一步点击完成后会出现一个属性设置页,这里有两个东西要设置一下,先点击设置
在这里插入图片描述

2.8、配置任务属性设置

将设置中这个选项去掉,默认是选中的
在这里插入图片描述

2.9、配置触发器(核心)

  • 接下来配置最核心的触发器,很多人遇到配置了开机自启但是程序并没有自启动就是因为这个没有配置
    在这里插入图片描述
  • 这里必须要设置一个触发器的延时时间,我这里设置了30s,如果不设置这个延时时间,在系统刚刚启动时就会执行任务,因为系统刚刚启动时还有一些资源是没有加载完成的,如果这个时候直接执行任务很大概率不会真的成功,所以这里必须要配置一个延时任务时间,配置好点击确认任务就完整创建成功,可以重启测试了
    在这里插入图片描述

三、配置开机后台自启动java程序(所有程序都是相同的做法,通过bat脚本执行我们想要的操作即可)

      这里需要借助.bat脚本来实现启动java程序,步骤和二中一模一样,就是在选择启动程序的时候选择自己写的.bat脚本即可,这里会节省相同步骤。

3.1、准备启动java程序bat脚本 start.bat

准备脚本时一定要注意一个问题,win的任务计划程序启动cmd的时候默认路径应该是C:\Users\Administrator,我这里的jar包放在D盘了,在bat脚本中一定要先切换到jar包所在的目录,不然启动时找不到,不是脚本在那个目录就将那个目录作为作为当前目录,还有在java程序中一般都会配置日志输出,一般也会使用当前目录作为存储路径,如果不切换目录的话在C:\Users\Administrator目录也是没有权限写日志的,所以这里切记先切换到自己需要的目录。

  • 我这里会将jar包和启动脚本都放入D:\worker\code目录
  • 创建start.bat脚本,将下面内容写入
@echo off
set port=8080
set jar_path=app.jar
D:
cd D:\worker\code
:: 前台启动 第一次测试时最好使用前台启动
:: start java -jar %jar_path% --server.port=%port%
:: 后台启动
start javaw -jar %jar_path% --server.port=%port%
exit

3.2、配置任务计划程序

这里只演示一个选择启动程序步骤
在这里插入图片描述

要让一个 Python 程序开机自启动并一直在后台运行,可以使用 Python 内置的 `daemon` 模块。下面是一个简单的案例代码: ```python import daemon import time def main_program(): while True: with open('/tmp/my_program.log', 'a') as f: f.write('Program is running...\n') time.sleep(5) if __name__ == '__main__': with daemon.DaemonContext(): main_program() ``` 这个程序会在后台运行,每隔 5 秒钟向 `/tmp/my_program.log` 文件中写入一行日志。 现在来详细解释一下这个程序的代码: 1. `import daemon` 导入 `daemon` 模块。 2. `def main_program():` 定义一个主程序函数,里面是程序的主逻辑。 3. `while True:` 开始一个无限循环,表示程序会一直运行。 4. `with open('/tmp/my_program.log', 'a') as f:` 打开一个文件对象,用于写入日志。 5. `f.write('Program is running...\n')` 向文件中写入一行日志。 6. `time.sleep(5)` 程序暂停 5 秒钟。 7. `if __name__ == '__main__':` 判断是否在主程序中运行。 8. `with daemon.DaemonContext():` 创建一个守护进程上下文环境。 9. `main_program()` 调用主程序函数。 在上面的代码中,我们使用了 `with` 语句来打开文件和创建守护进程上下文环境。这样可以确保程序运行完毕后,文件会被关闭并且守护进程会被正常终止。 同时,我们也使用了 `if __name__ == '__main__':` 的语句来判断是否在主程序中运行。这样可以避免在导入模块时运行程序。 以上就是一个简单的 Python 开机自启程序示例代码和解释。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值