以前都是用 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
即可
可能有更好的方法,欢迎大家讨论
网友评论