- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 prctl()函数应用
t prctl(int option,unsigned longarg2,unsigned long arg3,unsigned long arg4,unsigned long arg5)这个系统调用指令是为进程制定而设计的,明确的选择取决于option:PR_GET_PDEATHSIG :返回处理器信号; PR_SET_PDEATHSIG :arg2作为处理器信号pdeath被输
2015-08-20 16:55:10 619
原创 Linux信号列表详解
我们运行如下命令,可看到Linux支持的信号列表:~$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR213) SIGPIPE 14) SIGALRM 15)
2015-08-11 14:45:45 574
原创 system()
system()—执行shell命令也就是像dos发送一条指令。相关函数:fork, execve, waitpid, popen头文件:#include 定义函数:int system(const char * string);system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背
2015-08-11 14:38:16 572
原创 fcntl的close-on-exec标志
每个文件描述符都有一个close-on-exec标志。默认情况下,这个标志最后一位被设置为 0。这个标志符的具体作用在于当开辟其他进程调用exec()族函数时,在调用exec函数之前为exec族函数释放对应的文件描述符。我们来看一下具体的实例。这是两个程序:[c-sharp] view plaincopyprint?//file:fcntl int mai
2015-08-10 14:31:02 503
原创 exec函数
(1)exec函数说明fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新程序的内容替换了。另外,这里的可执行文件既可以是二进制文件,也可
2015-08-10 14:14:08 450
原创 什么是原子操作
原子操作,就是不能被更高等级中断抢夺优先的操作。你既然提这个问题,我就说深一点。由于操作系统大部分时间处于开中断状态,所以,一个程序在执行的时候可能被优先级更高的线程中断。而有些操作是不能被中断的,不然会出现无法还原的后果,这时候,这些操作就需要原子操作。就是不能被中断的操作。
2015-08-10 11:24:13 528
转载 O_APPEND的含义
1 O_APPEND的含义是在每次写之前,都讲标志位移动到文件的末端。表面上读这句话可能会有误解,提出一个问题:当在O_APPEND打开后,然后用lseek移动到其他的位置,然后再用write写,这个时候,请问你数据写到哪里去了?是在末端,还是lseek移动到得位置。答案是在末端,因为O_APPEND打开后,是一个原子操作:移动到末端,写数据。这是O_APPEND打开的作用。中间的插入时无
2015-08-10 11:18:57 771
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人