ssh 登录 windows 服务器运行程序 ssh 退出后继续运行

以前都是用 linux 服务器,今天碰到 windows,没有类似 disown 等命令,折腾/搜索了一番找到了一个替代解决方法

function qsub {
    param (
        $qfile
    )
    $qfile = Resolve-Path $qfile
    $cmd = "powershell -WindowStyle Hidden " + $qfile
    $task_name = Get-RandomString -length 14 -sourcedata (48..57)
    schtasks /create /SC ONCE /TN $task_name /TR $cmd /ST 23:59
    schtasks /run /TN $task_name
    schtasks /delete /TN $task_name /F
}

function Get-RandomString() {
    param(
    [int]$length=10,
    [char[]]$sourcedata
    )
    for($loop=1; $loop -le $length; $loop++) {
            $TempPassword+=($sourcedata | GET-RANDOM | ForEach-Object{[char]$_})
    }
    return $TempPassword
}

习惯用 open PBS 了,所以把任务提交函数起名叫 qsub.
比如要运行 xxx.py,就写一个 run.ps1 脚本

conda activate base
cd E:\test\
pythonw E:\test\xxx.py

然后 qsub run.ps1 即可
可能有更好的方法,欢迎大家讨论

你可能感兴趣的:(ssh 登录 windows 服务器运行程序 ssh 退出后继续运行)