在swift3 fork(), system()中调用C函数

Call C function in swift3 fork(), system()

如何在swift中调用fork()和system()?

var pid = fork() // 错误:调用中参数 #1 缺少参数

var r = system() //错误:fork()'不可用:请使用线程或posix_spawn*()

尝试过

var param: Int8
var s = system(&param)

也是,但它给出了不同的错误 - 'system' 在 Swift 中不可用:改用 posix_spawn API 或 NSTask。

我尝试使用 posix_param。 但是得到另一个错误 这是我的代码:-

var pid: pid_t

var status: Int32
posix_spawn(&pid, "", nil, nil, [], nil);
waitpid(pid, &status, WEXITED);
if pid >= 0 {
    return true

}

错误: 1) 变量'pid'初始化前取的地址。 2) 变量'status'初始化前取的地址

Objective C 此代码的版本。

int pid = fork();
if(!pid){
    exit(0);
 }
 if(pid>=0)
  {
     return YES;
  }

Here

我明白了!

将 pid 初始化为 -1 并将 status 初始化为 0 之后。

对于越狱设备pid值大于0而对于非越狱设备pid值保持不变。