在转换阶段 1 中设置物理源文件多字节字符与源字符集之间的映射 (5.1.1.2)。
对于 ASCII 部分,一个字符中有八位;对于特定于语言环境的扩展部分,一个字符中的位数是八位的倍数,具体取决于语言环境。
在独立式环境中,程序启动时所调用函数的名称和类型 (5.1.2.1)。
该实现为主机环境。
在独立式环境中终止程序的影响 (5.1.2.1)。
该实现处于主机环境中。
定义 main 函数可能采用的备选方法 (5.1.2.2.1)。
除了标准中定义的方法之外,不存在定义 main 的备选方法。
为字符串指定的值通过 argv 参数指向主函数 (5.1.2.2.1)。
argv 是指向命令行参数的指针数组,其中 argv[0] 代表程序名称(如果可用)。
交互式设备的要素 (5.1.2.3)。
信号集、信号语义和信号缺省处理 (7.14)。
信号编号 |
缺省事件 |
信号的语义 |
---|---|---|
SIGHUP 1 |
退出 |
挂起 |
SIGINT 2 |
退出 |
中断(破坏) |
SIGQUIT 3 |
信息转储 |
退出 (ASCII FS) |
SIGILL 4 |
信息转储 |
非法指令(找到时不重置) |
SIGTRAP 5 |
信息转储 |
跟踪陷阱(捕获时不重置) |
SIGIOT 6 |
信息转储 |
IOT 指令 |
SIGABRT 6 |
信息转储 |
由中止使用 |
SIGEMT 7 |
信息转储 |
EMT 指令 |
SIGFPE 8 |
信息转储 |
浮点异常 |
SIGKILL 9 |
退出 |
中止(找不到,也无法忽略) |
SIGBUS 10 |
信息转储 |
总线错误 |
SIGSEGV 11 |
信息转储 |
段违规 |
SIGSYS 12 |
信息转储 |
系统调用参数错误 |
SIGPIPE 13 |
退出 |
写在管道上,但无读取者 |
SIGALRM 14 |
退出 |
报警时钟 |
SIGTERM 15 |
退出 |
来自中止的软件终止信号 |
SIGUSR1 16 |
退出 |
用户定义的信号 1 |
SIGUSR2 17 |
退出 |
用户定义的信号 2 |
SIGCLD 18 |
忽略 |
子项状态更改 |
SIGCHLD 18 |
忽略 |
子进程状态更改别名 (POSIX) |
SIGPWR 19 |
忽略 |
电源故障,重新启动 |
SIGWINCH 20 |
忽略 |
窗口大小更改 |
SIGURG 21 |
忽略 |
紧急套接字条件 |
SIGPOLL 22 |
退出 |
发生了可轮询事件 |
SIGIO 22 |
Sigpoll |
可能有套接字 I/O |
SIGSTOP 23 |
停止 |
停止(找不到,也无法忽略) |
SIGTSTP 24 |
停止 |
来自 tty 的用户停止请求 |
SIGCONT 25 |
忽略 |
停止的进程已继续 |
SIGTTIN 26 |
停止 |
已尝试后台 tty 读 |
SIGTTOU 27 |
停止 |
已尝试后台 tty 写 |
SIGVTALRM 28 |
退出 |
虚拟计时器已过期 |
SIGPROF 29 |
退出 |
文件配置计时器已过期 |
SIGXCPU 30 |
信息转储 |
已超出 cpu 限制 |
SIGXFSZ 31 |
信息转储 |
已超出文件大小限制 |
SIGWAITING 32 |
忽略 |
线程代码不再使用保留的信号 |
SIGLWP 33 |
忽略 |
线程代码不再使用保留的信号 |
SIGFREEZE 34 |
忽略 |
检查点暂停 |
SIGTHAW 35 |
忽略 |
检查点恢复 |
SIGCANCEL 36 |
忽略 |
线程库使用的抵消信号 |
SIGLOST 37 |
忽略 |
资源丢失(记录锁定丢失) |
SIGXRES 38 |
忽略 |
超出资源控制(参见 setrctl(2)) |
SIGJVM1 39 |
忽略 |
保留供 Java 虚拟机 1 使用 |
SIGJVM2 40 |
忽略 |
保留供 Java 虚拟机 2 使用 |
除 SIGFPE、SIGILL 和 SIGSEGV 之外的信号值与计算异常相对应 (7.14.1.1)。
有关 SIGILL、SIGFPE、SIGSEGV、SIGTRAP、SIGBUS 和 SIGEMT,请参见表 C–1。
与 signal( sig, SIG_IGN) 等效的信号;在程序启动时执行 (7.14.1.1)。
有关 SIGILL、SIGFPE、SIGSEGV、SIGTRAP、SIGBUS 和 SIGEMT,请参见表 C–1。
环境名称集以及用来改变 getenv 函数所用环境列表的方法 (7.20.4.5)。
手册页 environ(5) 中列出了这些环境名称。
摘自 system(3C) 手册页:
system() 函数会导致 string 作为输入提供给 shell,如同在终端将 string 作为命令键入一样。调用程序将等待,直到 shell 完成,然后以 waitpid(2) 指定的格式返回 shell 的退出状态。
如果 string 为空指针,则 system() 会检查 shell 是否存在以及是否处于可执行状态。如果 shell 可用,system() 将返回非零值;否则将返回 0。