
Linux系统
在开发过程中遇到的一些Linux知识,代码以C++为例
_南_无_生_
这个作者很懒,什么都没留下…
展开
-
【网络编程】tcpdump抓包工具
命令是一款抓包工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后通过工具。截获所有192.168.10.7 的主机收到的和发出的所有的数据包。通信,服务端监听9999端口,服务端将客户端发送的消息返回客户端。如果想要获取主机192.168.10.7的9999端口的数据包。,但就是没有抓到数据包,原因是数据从回环口走了,可用下面命令。只会监视第一个网络接口,一般是。如果不指定网卡,默认。原创 2024-03-18 22:02:29 · 693 阅读 · 0 评论 -
shell指令
持续更新原创 2024-05-10 09:12:03 · 390 阅读 · 0 评论 -
遍历文件夹所有子文件夹,找出包含动态库文件的文件夹路径
【代码】遍历文件夹所有子文件夹,找出包含动态库文件的文件夹路径。原创 2024-02-29 10:01:05 · 133 阅读 · 1 评论 -
子进程会继承父进程资源
需要注意的是,子进程会继承这些资源的副本,而不是直接共享。子进程和父进程之间可以独立地修改这些资源的副本,互不影响。这样可以保证子进程的执行环境与父进程的执行环境相互独立。原创 2023-11-16 15:03:04 · 493 阅读 · 1 评论 -
多次调用 fork 和 execv
如果父进程打开了大量文件,子进程的创建和销毁过程中会涉及大量的文件描述符复制操作,产生一定的开销。:预先创建一定数量的子进程,维护一个进程池,每次需要运行任务时,从进程池中取出一个空闲的进程进行执行,复用进程,避免频繁的进程创建和销毁。:使用线程池可以避免频繁地创建和销毁进程,将任务分配给线程进行并发处理,减少进程创建和销毁的开销。:对于IO密集型任务,可以使用异步IO方式进行处理,避免阻塞和频繁的进程创建和销毁。:如果可以,可以考虑使用线程替代进程,因为线程的创建、销毁和切换开销相对较小。原创 2023-11-16 15:10:56 · 192 阅读 · 1 评论 -
利用文件锁来防止进程启动多次
具体方法是在程序启动时,尝试获取一个特定文件的文件锁,如果获取成功,则说明当前没有其他进程在运行该程序;如果获取失败,则说明已经有其他进程在运行该程序,可以选择终止当前进程。需要注意的是,上述示例中的文件锁只适用于同一个系统上的多个进程之间,并且需要高度保证锁文件的正确性,以避免死锁或者多个进程之间的冲突。如果获取锁失败,则说明已经有其他进程在运行该程序,可以直接返回或进行相应处理;函数返回值为-1),则说明已经有其他进程在运行该程序,函数返回。在程序执行完毕后,需要释放文件锁,可以通过删除锁文件来实现(原创 2023-12-04 09:49:45 · 559 阅读 · 0 评论 -
套接字对应的文件描述符的文件被删除
域套接字是通过文件系统路径名称来引用的,但是一旦套接字被创建,就可以在文件系统中删除该文件而不会影响套接字的正常运行。需要注意的是,如果在接收端的套接字文件已被删除,接收方可能无法打开该文件,从而导致无法读取通过套接字发送的数据。因此,在使用域套接字进行通信时,发送和接收双方需要事先约定好套接字文件的路径和名称,并确保该文件在通信期间一直存在。当您使用域套接字发送消息时,操作系统内核会根据文件描述符找到对应的套接字对象,并将消息发送到此套接字对象所关联的套接字。原创 2023-12-08 17:50:26 · 493 阅读 · 0 评论