来自man 2 clone:
简介
/* Prototype for the glibc wrapper function */ #define _GNU_SOURCE #include <sched.h> int clone(int (*fn)(void *), void *child_stack, int flags, void *arg, ... /* pid_t *ptid, void *newtls, pid_t *ctid */ );
返回值
成功后,子进程的线程ID将返回到 调用者的执行线程。失败时,返回-1 调用者的上下文,将不会创建任何子进程,而errno将是 设置适当。
由于使用pid_t
作为返回类型
-1
为什么clone
不返回pid_t
,而是返回int
?