作为批处理文件启动时更改进程名称

时间:2012-11-20 12:37:30

标签: process batch-file monitoring nagios

我正在开发一个名为“Nagios”的监控系统,它监控UNIX和WINDOWS服务器的服务。问题是批处理文件启动的WINDOWS服务在任务管理器中命名为“cmd.exe”,因此系统在监控时无法区分这些服务。

如何在启动任务管理器时更改任务管理器上的进程名称,以便每个进程名称都具有唯一的名称而不是“cmd.exe”?

提前谢谢。

5 个答案:

答案 0 :(得分:2)

您可以将批处理文件作为Windows服务运行以创建进程名称。您可以设置开始和停止时要发生的事情。您可以使用其PID终止服务。

C# Tutorial将批处理文件创建为Windows服务。

答案 1 :(得分:0)

您无法更改流程的名称。如果您需要区分这些流程,那么我建议您使用他们的流程ID而不是他们的名称。

答案 2 :(得分:0)

您可以在以下批次中执行此操作

  • 重命名-cmd.bat

    echo off
    set program=c:\Windows\system32\cmd.exe
    set alias_name=%1
    set alias_path=%~dp0
    set batch_file=%2
    set alias=%alias_path%%alias_name%.exe
    call :find_args %*
    call :make_link %program% %alias%
    %alias% /C %batch_file% %args%
    :find_args
    set args=
    shift
    shift
    :loop
      if [%1] == [] goto :eof
      set args=%args% %1
      shift
      goto :loop
    :make_link
      copy %1 %2
    

    使用方法

    重命名-cmd.bat NAME_OF_CMD_IN_TSKMGR BATCH_YOU_WANT_TO_START

  • 答案 3 :(得分:0)

    要在启动时更改任务管理器上的进程名称,使每个进程名称都具有唯一性,而不是“cmd.exe”,您可以使用 cmd.exe 的副本调用批处理文件。

    您可以在 Change Batch Process Name

    找到一个自动执行此过程的简单脚本

    答案 4 :(得分:-1)

    DOS有一个名为 title 的精彩命令 - 似乎适合

    @echo off
    title MyBatchTitle
    ...