#!/bin/bash # 检查是否已在运行(避免重复启动) if pgrep -x "xrdp" >/dev/null || pgrep -x "xrdp-sesman" >/dev/null; then echo "xrdp or xrdp-sesman is already running" exit 0 fi # 清理旧 PID 文件(可选,但推荐) rm -f /var/run/xrdp/xrdp.pid /var/run/xrdp/xrdp-sesman.pid # 启动服务(不依赖 $!) /usr/sbin/xrdp-sesman & /usr/sbin/xrdp & # 等待片刻,让进程稳定(daemonize 完成) sleep 2 # 获取真实 PID(最可靠方式) SES_MAN_PID=$(pgrep -x "xrdp-sesman") XRDP_PID=$(pgrep -x "xrdp") # 输出结果 echo "xrdp-sesman started (PID: $SES_MAN_PID)" echo "xrdp started (PID: $XRDP_PID)"