.net程序通过crontab无法启动怎么办
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要介绍".net程序通过crontab无法启动怎么办",在日常操作中,相信很多人在.net程序通过crontab无法启动怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
千家信息网最后更新 2025年01月17日.net程序通过crontab无法启动怎么办
这篇文章主要介绍".net程序通过crontab无法启动怎么办",在日常操作中,相信很多人在.net程序通过crontab无法启动怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答".net程序通过crontab无法启动怎么办"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一、问题描述
.net 网关程序需要设置定时重启,按照日常操作先把正在运行的 PID kill 掉后,再执行启动服务。
把脚本放到 crontab
计划任务上,可以把服务 PID kill 掉,但无法启动服务,直接手动运行脚本是可以成功启动的。
.net 服务重启脚本test1.sh
如下:
[root@localhost ~]# cat test1.sh #!/bin/bashID=`ps -ef | grep YTGateWayServiceZZ| grep -v "grep" | awk '{print $2}'`for id in $ID;dokill -9 $iddonesleep 3;nohup dotnet /home/gateway1/YTGateWayServiceZZ.dll > /dev/null 2>&1 &
通过脚本无法启动,试着把 .net 程序写成服务后,发现是可以正常重启的。
二、将 .net 程序写成服务
先把原来通过执行路径方式启动的服务 kill
掉之后,再执行 config.sh
脚本把程序写成服务;
并写入 crontab
计划任务中,通过测试是可以正常重启程序。
[root@localhost ~]# cat config.sh#!/bin/bash# 找到 dotnet 命令位置dotnet=`which dotnet`# 将 .net core 写成服务方式运行cat > /usr/lib/systemd/system/gateway1.service << EOF[Unit]# 服务描述Description=gateway1 YTGateWayServiceZZ[Service]# 程序工作路径WorkingDirectory=/home/gateway1# 启动程序路径ExecStart= $dotnet /home/gateway1/YTGateWayServiceZZ.dllRestart=always# 如果 dotnet 服务崩溃,10秒后重新启动服务RestartSec=10[Install]# 系统运行级别WantedBy=multi-user.targetEOF# 写入 crontab 计划任务(6个小时重启一次)crontab -l > conf && echo "0 */6 * * * systemctl restart gateway1.service " >> conf && crontab conf && rm -f conf
执行脚本 config.sh
[root@localhost ~]# chmod +x config.sh[root@localhost ~]# ./config.sh
管理自定义服务命令
# systemctl status gateway1.service# systemctl start gateway1.service# systemctl restart gateway1.service# systemctl enable gateway1.service
三、通过 crontab 执行脚本无法启动原因
通过将 .net 程序写成服务测试之后,初步判断很有可能是 crontab
执行时没有找到系统环境变量导致的。
检查了脚本发现只有 dotnet
命令没有使用绝对路径,试着把 dotnet
命令加上绝对路径结果可以成功启动了。
[root@localhost ~]# which dotnet/usr/local/bin/dotnet
[root@localhost ~]# cat test1.sh #!/bin/bashID=`ps -ef | grep YTGateWayService| grep -v "grep" | awk '{print $2}'`for id in $ID;dokill -9 $iddonesleep 3;nohup /usr/local/bin/dotnet /root/publish/YTGateWayService.dll > /dev/null 2>&1 &
到此,关于".net程序通过crontab无法启动怎么办"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
服务
程序
脚本
怎么办
命令
学习
路径
运行
成功
任务
方式
更多
问题
帮助
测试
实用
接下来
位置
原因
变量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云数据库服务 价格
CRM云服务器怎么配置
网络安全自学项目
数据库培训多少钱一台
数据库五种常用的窗体控件
岳麓区软件开发职业中专
服务器内存上不来
网络安全三法两条例心得
足球经理软件开发
网络技术细分
彩票直播软件开发
爱思唯尔数据库是sci吗
平安 网络安全险
ftp自动登录服务器
平安互联网科技开发
游戏平台服务器排行榜
软件开发技术陷阱
百度云软件开发
壹众互联网科技有限公司官网
计算机网络技术视频解答
印记网络技术有限公司客服电话
整个软件开发代码
思科网络技术作业
服务器怎么分机器
河南的芯片服务器云空间
教育类软件开发公司
数据库培训多少钱一台
海虹医保服务器
网信系统网络安全的风险
南京网络技术工资