V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
LinkedIn
chensong004
V2EX  ›  问与答

Windows 系统下有没有类似于 systemctl 的服务管理程序

  •  
  •   chensong004 · 61 天前 · 1889 次点击
    这是一个创建于 61 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 windows 系统内安装了一些服务,有些是控制台程序,有些是 node 程序,这些服务需要开机自启并且常驻后台。现在是在开机启动项设置了一个脚本,任务栏还堆满了一堆黑框框(终端的图标)。有没有类似于 linux 那样的服务管理程序,可以比较简单的设置服务,windows 自带的 sc 命令创建的服务好像都是在 system32 目录运行的,导致配置文件不能加载。
    21 条回复    2022-08-09 12:10:22 +08:00
    hackxing
        1
    hackxing  
       61 天前
    Windows 的任务计划程序,可以试试
    SenLief
        3
    SenLief  
       61 天前   ❤️ 2
    luzemin
        4
    luzemin  
       61 天前
    windows task scheduler
    foolnius
        5
    foolnius  
       61 天前
    Node 可以考虑用 PM2
    renmu123
        6
    renmu123  
       61 天前 via Android
    计划任务,可以把黑框隐藏
    wowo243
        7
    wowo243  
       61 天前
    计划任务
    Windows+R
    taskschd.msc
    Rache1
        8
    Rache1  
       61 天前
    winsw ,可以把这些包装成 Windows 服务

    https://github.com/winsw/winsw
    bellchu
        9
    bellchu  
       61 天前
    Microsoft.PowerShell.Management
    bearice
        10
    bearice  
       61 天前
    me221
        12
    me221  
       61 天前
    @bellchu
    输入命令好像不能自动打开`用户账户控制`的页面, 而直接报错了.

    再启动一个管理员的 ps 好像也不比打开服务面板简单....
    me221
        13
    me221  
       61 天前
    我是用 winsw 先将应用注册成服务. 然后使用 PowerToys Run 的服务 plugin 来控制服务的开启停止重启.
    itning
        14
    itning  
       61 天前
    nssm
    Davic1
        15
    Davic1  
       61 天前
    net start/stop xxx?
    fisherwei
        16
    fisherwei  
       61 天前
    计划任务对应 crontab
    services.msc 才是 systemctl ,可以用 nssm 创建自己的 service
    Chancel
        17
    Chancel  
       61 天前 via Android
    nssm
    adoal
        18
    adoal  
       61 天前
    有没有可能 OP 不知道 Windows 的服务可以指定用什么用户来运行。以及即使在 Linux 下老运维们通常的最佳实践也不建议用交互登录的用户身份运行服务,而是用专用帐号,配置文件从绝对路径而非当前路径加载。
    root01
        19
    root01  
       60 天前
    srvany.exe+srvanyui.exe 用这 2 个,我把 frpc 做成服务,真香。srvanyui 是 gui 界面操作简单
    bellchu
        20
    bellchu  
       59 天前
    @me221

    你如果只是要开机启动脚本而不是任务管理,那简单的创建任务就行了。GUI 也可以创建。
    以下命令可以压缩为一条。

    $Trigger = New-ScheduledTaskTrigger -AtStartup
    $User = "Domain\User"
    $PS = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-ExecutionPolicy Bypass -File C:\scripts.ps1"
    Register-ScheduledTask -TaskName "Startup Run 001" -Trigger $Trigger -User $User -Action $PS
    loveqianool
        21
    loveqianool  
       49 天前
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1227 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 19:47 · PVG 03:47 · LAX 12:47 · JFK 15:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.