进程
文章平均质量分 72
460833359
这个作者很懒,什么都没留下…
展开
-
Linux进程或线程绑定到CPU
为了让程序拥有更好的性能,有时候需要将进程或线程绑定到特定的CPU,这样可以减少调度的开销和保护关键进程或线程。进程绑定到CPULinux提供一个接口,可以将进程绑定到特定的CPU:#include<sched.h>intsched_setaffinity(pid_tpid,size_tcpusetsize,constcpu_set_t*mask);intsched_getaffinity(pid_tpid,size_tcpusetsize,cpu_...转载 2021-12-25 17:07:16 · 1199 阅读 · 0 评论 -
进程替换 --- exec
在 Linux 中,exec 指的是一组函数,一共有 6 个。其中只有 execve() 是真正意义上的系统调用,其它都是在此基础上经过包装的库函数。当进程调用一种 exec 函数时,该进程完全由新程序替换,而新程序则从其 main 函数开始执行。因为调用 exec 并不创建新进程,所以前后的进程 ID (当然还有父进程号、进程组号、当前工作目录……)并未改变。exec 只是用另一个新程序替换了当前进程的正文、数据、堆和栈段(进程替换)。区别/* 完整的路径加文件名,* 使用列表传参的方式 */.转载 2021-12-25 11:42:53 · 281 阅读 · 0 评论 -
Linux系统编程————exec进程替换
exec函数族:进程替换函数1、何为进程替换:1、让父子进程执行不相干的操作;也就是说,在一个运行的程序a中,调用另外的应用程序b。2、换核不换壳;exec族函数,能够替换进程地址空间中的代码段.text段(对应的堆、栈中的数据都会改变),重新填充新的代码。2、函数原型:execl系列是变参函数int execl(const char* path,const char* arg,...);int execlp(const char* file,const char* arg,...)转载 2021-12-25 11:33:31 · 208 阅读 · 0 评论 -
Linux下修改进程名称
http://www.cnblogs.com/LittleHann/p/4991600.htmcatalog1. 应用场景2. 通过Linux prctl修改进程名3. 通过修改进程argv[0]修改进程名4. 通过bash exec命令修改一个进程的cmdline信息1. 应用场景1. 标识父子进程名称,防止被误杀2. 构造假的进程名及参数,引导非法进入人员到蜜罐系统,取证3. 恶意程序、木马会通过"檫除"自己的进程名,使ps的时候显示的是一个无名字的进程,同..转载 2021-12-25 11:22:40 · 3241 阅读 · 0 评论 -
Linux C程序修改进程名称
Linux C程序修改进程名称1、前言2、命令行参数(argc, argv)以及环境变量(environ)介绍2.1、C程序典型的存储空间布局2.2、argc, argv介绍2.3、environ介绍2.4、编写程序验证修改进程名是否可以成功2.5、查看进程名变长之后影响了那部分内存的数据2.6、结论3、Redis修改进程名的做法4、总结1、前言Linux C程序运行时,进程的名称通常就是argv[0],而通过修改内存中argv[0]存储的内容就可以修改进程名了。下面对此作详细介绍。转载 2021-12-25 11:04:08 · 1144 阅读 · 0 评论 -
Linux系统套接字编程中存在的五个隐患
from:https://www.ibm.com/developerworks/cn/linux/l-sockpit/Five pitfalls of Linux sockets programming – IBM DeveloperSocket API 是网络应用程序开发中实际应用的标准 API。尽管该 API 简单,但是开发新手可能会经历一些常见的问题。本文识别一些最常见的隐患并向您显示如何避免它们。 在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操转载 2021-11-11 16:23:09 · 199 阅读 · 0 评论 -
linux 父进程被杀的信号,Linux 父进程发送信号杀死子进程
#include#include#include#include#includevoid handler(int arg){printf("receive SIGCHLD\n");}int main(int argc, const char *argv[]){signal(SIGCHLD,handler); //注册信号回调函数,当信号发生会调用handlerpid_t pid;pid = fork();if(pid < 0){perro转载 2021-10-26 15:03:59 · 275 阅读 · 0 评论 -
关于有名管道( fifo)open时阻塞的问题
问题:有名管道,mkfifo了两个文件,然后文件io-open打开的时候,阻塞在open里面了,找了好久,没找到,无解网上搜索。分析:一般情况下(没有指定O_NONBLOCK),只读open要阻塞到某个其他进程为写而打开这个FIFO为止。类似的,只写open要阻塞到某个其他进程为读而打开它为止。如果指定了O_NONBLOCK,则只读open立即返回,但是如果没有进程为读而打开一个FIFO,那么只写open将返回-1,并将errno设置成ENXIO方法:1,open模式,由O_R.转载 2021-07-14 15:32:08 · 1063 阅读 · 0 评论