run_ccosprocgo.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. # 定义kill脚本路径
  3. KILL_SCRIPT="./kill_ccosprocgo.sh"
  4. # 检查并执行kill脚本清理残留进程
  5. if [ -f "$KILL_SCRIPT" ] && [ -x "$KILL_SCRIPT" ]; then
  6. echo "正在执行进程清理脚本,确保没有残留的CcosProcGo进程..."
  7. "$KILL_SCRIPT"
  8. echo "进程清理完成"
  9. else
  10. echo "错误:未找到kill脚本 $KILL_SCRIPT 或脚本不可执行"
  11. echo "请确保kill脚本存在且具有执行权限 (chmod +x $KILL_SCRIPT)"
  12. exit 1
  13. fi
  14. # 初始设置环境变量
  15. export LD_LIBRARY_PATH="./PlatformModule:$LD_LIBRARY_PATH"
  16. # 检查目录和文件
  17. DRIVER_CONFIG_DIR="./DriverConfig"
  18. if [ ! -d "$DRIVER_CONFIG_DIR" ]; then
  19. echo "错误:DriverConfig目录不存在"
  20. exit 1
  21. fi
  22. if [ ! -x "./CcosProcGo" ]; then
  23. echo "错误:未找到可执行文件CcosProcGo"
  24. exit 1
  25. fi
  26. # 统计文件数量
  27. FILE_COUNT=$(find "$DRIVER_CONFIG_DIR" -maxdepth 1 -type f | wc -l)
  28. if [ "$FILE_COUNT" -eq 0 ]; then
  29. echo "警告:DriverConfig目录中没有文件"
  30. exit 0
  31. fi
  32. echo "发现 $FILE_COUNT 个文件,开始启动后台进程..."
  33. # 启动所有进程
  34. while IFS= read -r -d '' FILE_PATH; do
  35. FILE_NAME=$(basename "$FILE_PATH")
  36. echo "正在启动后台进程:./CcosProcGo $FILE_NAME"
  37. ./CcosProcGo "$FILE_NAME" > /dev/null 2>&1 &
  38. done < <(find "$DRIVER_CONFIG_DIR" -maxdepth 1 -type f -print0)
  39. echo "所有进程已启动"
  40. echo "可以使用kill脚本终止进程:$KILL_SCRIPT"
  41. exit 0