2)进程控制 *exec()族:包括execl(),execv(),execle(),execve(),execlp()和execvp() 可将一可执行模快拷贝到调用进程占有的存贮空间.正被调用进 程执行的程序将不复存在,新程序取代其位置. 这是UNIX系统中一个程序被执行的唯一方式:用将执行的程序复盖原有的 程序. 安全注意事项: . 实际的和有效的UID和GID传递给由exec()调入的不具有SUID和SGID许 可的程序. . 如果由exec()调入的程序有SUID和SGID许可,则有效的UID和GID将设 置给该程序的所有者或小组. . 文件建立屏蔽值将传递给新程序. . 除设了对exec()关闭标志的文件外,所有打开的文件都传递给新程序. 用fcntl()子程序可设置对exec()的关闭标志. *fork():用来建立新进程.其建立的子进程是与调用fork()的进程(父进程) 完全相同的拷贝(除了进程号外) 安全注意事项: . 子进程将继承父进程的实际和有效的UID和GID. . 子进程继承文件方式建立屏蔽值. . 所有打开的文件传给子进程. *signal():允许进程处理可能发生的意外事件和中断. 需要两个参数:信号编号和信号发生时要调用的子程序. 信号编号定义在signal.h中. 信号发生时要调用的子程序可由用户编写,也可用系统给的值,如:SIG_IGN 则信号将被忽略,SIG_DFL则信号将按系统的缺省方式处理. 如许多与安全有关的程序禁止终端发中断信息(BREAK和DELETE),以免自己 被用户终端终止运行. 有些信号使UNIX系统的产生进程的核心转储(进程接收到信号时所占内存 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-10-1 01:26 , Processed in 0.185984 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.