1 Star 1 Fork 54

dotnet爱好者/kasini3000

forked from chuanjiao10/kasini3000 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
u_db_crontab.ps1 6.25 KB
一键复制 编辑 原始数据 按行查看 历史
#建议保存编码为:bom头 + utf8
#
Start-Sleep -Seconds 1
if ( ($IsWindows -eq $True) -or ($PSVersionTable.psversion.major -lt 6) ) #win
{
& 'c:\ProgramData\kasini3000\0k_source.ps1'
}
if ($IsLinux -eq $True)
{
& '/etc/kasini3000/0k_source.ps1'
}
$private:ucrontab的磁盘pid = & 'u_db_crontab_读pid.ps1'
if ( ($private:ucrontab的磁盘pid -eq $null) -or ($private:ucrontab的磁盘pid -eq '') )
{
}
else
{
$private:ucrontab的进程 = Get-Process -Id $private:ucrontab的磁盘pid
}
if ($private:ucrontab的进程 -eq $null)
{
}
else
{
if ( ($private:ucrontab的进程.ProcessName -eq 'pwsh') -or ($private:ucrontab的进程.ProcessName -eq 'powershell') )
{
Write-Error "错误:已经有u库crontab的进程,正在运行中!退出码2"
exit 2
}
}
& 'u_db_crontab_写pid.ps1'
#----------------------------------------------【u库,进程级别,定时任务】----------------------------------------------
#$global:u库_线程级别_定时任务_启用 -eq $True,u库,进程级别,定时任务,也会执行。
$private:u库_进程级别_定时任务_的磁盘pid = & 'u库定时任务_进程级别_读pid.ps1'
if ( ($private:u库_进程级别_定时任务_的磁盘pid -eq $null) -or ($private:u库_进程级别_定时任务_的磁盘pid -eq '') )
{
}
else
{
$private:u库_进程级别_定时任务_的进程 = Get-Process -Id $private:u_进程级别_定时任务_的磁盘pid
}
if ($private:u库_进程级别_定时任务_的进程 -eq $null)
{
$private:u_进程级别_定时任务_的进程 = $True
}
else
{
if ( ($private:u库_进程级别_定时任务_的进程.ProcessName -eq 'pwsh') -or ($private:u库_进程级别_定时任务_的进程.ProcessName -eq 'powershell') )
{
Write-Error "信息:已经有u库,进程级别,定时任务的进程,正在运行中!"
}
else
{
$private:u_进程级别_定时任务_的进程 = $True
}
}
if ( ($private:u_进程级别_定时任务_的进程 -eq $True) -and ((Get-Date).Minute -lt 58))
{
if ( ($IsWindows -eq $True) -or ($PSVersionTable.psversion.major -lt 6) ) #win
{
Start-Process -FilePath "$global:u库_进程级别任务_的ps版本" -ArgumentList " -WindowStyle hidden -file ${global:kasini3000目录}/u库定时任务_进程级别.ps1"
}
if ($IsLinux -eq $True)
{
$private:linux_process_args = " $global:u库_进程级别任务_的ps版本 -NonInteractive -NoProfile -file ${global:kasini3000目录}/u库定时任务_进程级别.ps1 "
Write-Verbose $private:linux_process_args
Start-Process -FilePath '/usr/bin/nohup' -ArgumentList $private:linux_process_args
}
}
# 在第59分钟,不会新建u库_进程级别_定时任务。
if ((Get-Date).Minute -eq 58)
{
if ( ($IsWindows -eq $True) -or ($PSVersionTable.psversion.major -lt 6) ) #win
{
Start-Process -FilePath "$global:u库_进程级别任务_的ps版本" -ArgumentList " -WindowStyle hidden -file ${global:kasini3000目录}/u库定时任务_进程级别.ps1"
}
if ($IsLinux -eq $True)
{
$private:linux_process_args = " $global:u库_进程级别任务_的ps版本 -NonInteractive -NoProfile -file ${global:kasini3000目录}/u库定时任务_进程级别.ps1 "
Write-Verbose $private:linux_process_args
Start-Process -FilePath '/usr/bin/nohup' -ArgumentList $private:linux_process_args
}
}
#----------------------------------------------【u库,线程级别,定时任务】----------------------------------------------
if ($global:u库_线程级别_定时任务_启用 -eq $True )
{
$private:u库_线程级别_定时任务_的磁盘pid = & 'u库定时任务_线程级别_读pid.ps1'
if ( ($private:u库_线程级别_定时任务_的磁盘pid -eq $null) -or ($private:u库_线程级别_定时任务_的磁盘pid -eq '') )
{
}
else
{
$private:u库_线程级别_定时任务_的进程 = Get-Process -Id $private:u_线程级别_定时任务_的磁盘pid
}
if ($private:u库_线程级别_定时任务_的进程 -eq $null)
{
$private:u_线程级别_定时任务_的进程 = $True
}
else
{
if ( ($private:u库_线程级别_定时任务_的进程.ProcessName -eq 'pwsh') -or ($private:u库_线程级别_定时任务_的进程.ProcessName -eq 'powershell') )
{
Write-Error "信息:已经有u库,线程级别,定时任务的进程,正在运行中!"
$private:u库_线程级别_定时任务的pid文件 = "$log日志文件全目录/u库_线程级别_pid.txt"
$private:pid文件对象 = Get-ChildItem -Path $private:u_线程级别_定时任务的pid文件
$private:多少分钟前建立的pid文件 = (Get-Date) - $private:pid文件对象.LastWriteTime
if ($private:多少分钟前建立的pid文件.TotalMinutes -eq ($global:u库_线程级别_定时任务_建立新进程间隔_分钟 - 1))
{
if ( ($IsWindows -eq $True) -or ($PSVersionTable.psversion.major -lt 6) ) #win
{
Start-Process -FilePath "$global:u库_线程级别任务_的ps版本" -ArgumentList " -WindowStyle hidden -file ${global:kasini3000目录}/u库定时任务_线程级别.ps1"
}
if ($IsLinux -eq $True)
{
$private:linux_process_args = " $global:u库_线程级别任务_的ps版本 -NonInteractive -NoProfile -file ${global:kasini3000目录}/u库定时任务_线程级别.ps1 "
Write-Verbose $private:linux_process_args
Start-Process -FilePath '/usr/bin/nohup' -ArgumentList $private:linux_process_args
}
Write-Verbose '信息:u库,线程级别,定时任务,正在建立新进程'
}
}
else
{
$private:u_线程级别_定时任务_的进程 = $True
}
}
if ($private:u_线程级别_定时任务_的进程 -eq $True)
{
if ( ($IsWindows -eq $True) -or ($PSVersionTable.psversion.major -lt 6) ) #win
{
Start-Process -FilePath "$global:u库_线程级别任务_的ps版本" -ArgumentList " -WindowStyle hidden -file ${global:kasini3000目录}/u库定时任务_线程级别.ps1"
}
if ($IsLinux -eq $True)
{
$private:linux_process_args = " $global:u库_线程级别任务_的ps版本 -NonInteractive -NoProfile -file ${global:kasini3000目录}/u库定时任务_线程级别.ps1 "
Write-Verbose $private:linux_process_args
Start-Process -FilePath '/usr/bin/nohup' -ArgumentList $private:linux_process_args
}
Write-Verbose '信息:u库,线程级别,定时任务,正在建立新进程'
}
}
exit 0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PowerShell
1
https://gitee.com/dotnetfans/kasini3000.git
git@gitee.com:dotnetfans/kasini3000.git
dotnetfans
kasini3000
kasini3000
master

搜索帮助