我有一个bash脚本,允许一次运行多个实例。然而,有一个到Oracle数据库的sqlplus连接来检索一个值。如果这个值一次被多个bash脚本实例获取,他们可能会检索相同的值,因为在第一个实例仍在处理时,第二个实例已经验证了“旧数据”。 我只能想到两个选项,即通过PIDFILE锁定函数。缺点是,如果用户在pidfile被移除之前中止操作,会导致问题。另一个是基于声明最大进程数为ps -ef | g
简单的F#脚本: #!/usr/bin/env fsharpi
open System
open System.Diagnostics
let Exec (command: string, arguments: string, echo: bool) =
let psi = new System.Diagnostics.ProcessStartInfo(command)