【Linux】DotNet运行命令
630 字
3 分钟
【Linux】DotNet运行命令
设置系统级环境变量
# /etc/profile.d/{文件名.sh} 新建并打开配置文件vi /etc/profile.d/dotnet.sh
# 文件末尾加变量定义# 此处我的dotnet文件在 这个位置 /home/sys_wh/dotnetexport DOTNET_ROOT=/home/sys_wh/dotnetexport PATH=$PATH:/home/sys_wh/dotnet
# 重载配置文件source /etc/profile.d/dotnet.sh
# 终端使用变量,执行以下命令查看是否有版本输出,最好切换下用户测试是否所有用户都可以读到变量dotnet info启动脚本
#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改APP_NAME=CATSTI.YZ.dll#这里修改程序运行的端口号APP_PORT=8181
#使用说明,用来提示输入参数usage() { echo "Usage: sh YZServiceStart.sh [start|stop|restart|status]" exit 1}
#检查程序是否在运行is_exist(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #如果不存在返回1,存在返回0 if [ -z "${pid}" ]; then return 1 else return 0 fi}
#启动方法start(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is already running. pid=${pid} ." else nohup dotnet $APP_NAME --urls=http://*:$APP_PORT > /dev/null 2>&1 & echo "${APP_NAME} start success" fi}
#停止方法stop(){ is_exist if [ $? -eq "0" ]; then kill -9 $pid else echo "${APP_NAME} is not running" fi}
#输出运行状态status(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is running. Pid is ${pid}" else echo "${APP_NAME} is NOT running." fi}
#重启restart(){ stop start}
#根据输入参数,选择执行对应方法,不输入则执行使用说明case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;;esac批量启动脚本
#!/bin/bash
# 应用程序的路径APP_PATH="/home/sys_wh/yz/30-NewYZ/CATSTI.YZ.dll"
# 启动的端口列表PORTS=( "5000" "5001" "5002" )
start() { # 循环启动每个端口的应用程序 for PORT in "${PORTS[@]}"; do nohup dotnet $APP_PATH --urls http://*:$PORT > "app_$PORT.log" 2>&1 & echo "端口 $PORT 已启动" done
echo "应用程序已批量启动。"}
stop() { # 循环启动每个端口的应用程序 for PORT in "${PORTS[@]}"; do # 停止端口为5000的应用程序 kill $(lsof -i :$PORT -t) echo "端口 $PORT 已停止" done echo "............应用程序已批量停止。............"}status() { for PORT in "${PORTS[@]}"; do # 检查端口是否在使用中 if [ -n "$(netstat -tuln | grep :$PORT)" ] || [ -n "$(ss -tuln | grep :$PORT)" ]; then echo "端口 $PORT 正在使用中" else echo "端口 $PORT 未被使用" fi done}
case "$1" in start) start "$2" sleep 5s status "$2" ;; stop) stop "$2" ;; status) status "$2" ;; restart) stop "$2" sleep 3s start "$2" sleep 5s status "$2" ;; *) echo "第一个参数请输入:start|stop|restart|status" exit 1 ;;esac注册系统服务
[Unit]Description=Dotnet Searver
[Service]LimitMEMLOCK=infinityLimitNOFILE=65535WorkingDirectory=/appRestart=alwaysType=forkingExecStart=/app/startup.shExecStop=/usr/bin/kill -15 $MAINPID
[Install]WantedBy=multi-user.target支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
【Linux】常用命令
Linux本文档《【Linux】常用命令》详细列出了Linux系统中常用的命令及其用法,涵盖了从基本命令、关机操作、文件和目录管理、文件搜索、文件系统的挂载与卸载、磁盘空间管理、文件权限设置、文件的特殊属性、打包和压缩文件、RPM包管理、YUM软件包升级器、DEB包管理、查看文件内容、文本处理、字符设置和文件格式转换等操作。
2
【Linux】Vim命令合集
Linux本文《【Linux】Vim命令合集》详细总结了Vim编辑器的各种常用命令和技巧。每个命令都配有详细的说明和使用示例,适合初学者和进阶用户学习和参考。文章最后还提供了Vim教程的启动方法和一些参考文档。
3
【Linux】Libgdiplus安装
Linux在CentOS 7上安装libgdiplus的过程,以解决ASP.NET Core MVC项目在处理图片时遇到的The type initializer for ‘Gdip‘ threw an exception错误。首先,通过安装yum-utils和epel-release来获取必要的工具和仓库支持。
4
【Linux】Nacos 问题
Linux本文《【Linux】Nacos 问题》详细记录了在Linux环境下遇到的Nacos服务连接问题及其解决方法。文章还介绍了如何配置Nacos服务的开机自启动,确保服务在系统重启后能够自动运行。这些内容对解决Nacos连接问题和提高系统稳定性非常有帮助。
5
【Linux】RocketMQ 部署
Linux在Linux环境下部署RocketMQ的完整过程。文章详细说明了如何通过Docker部署RocketMQ,包括创建NameServer、Broker和RocketMQ Console的服务,并提供了相应的Docker命令和配置文件示例。
随机文章随机推荐
小王的博客














