大佬教程收集整理的这篇文章主要介绍了Linux中另一个进程的重复文件描述符(不带sendmsg),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Windows有DuplicateHandle用于此目的,我想知道Linux上是否有类似的东西.
它是使用pid< pid>进行打开的文件的特殊符号链接.作为文件描述符< fd>.
您不必担心原始文件被删除或替换,因为使用此链接将始终为您提供进程打开的原始文件.只需尝试以下一小块bash代码:
#!/bin/bash echo "test" >/tmp/file ls -li /tmp/file exec 3<> /tmp/file rm /tmp/file ls -lLi /proc/$$/fd/3 cat /proc/$$/fd/3
这将创建一个包含字符串test的文件/ tmp /文件.打开文件作为文件描述符3,删除它,删除后仍然可以使用/ proc / self / fd / 3捕获其内容.在linux中,只要任何进程仍然使用它,文件就不会被最终删除.
因此,不是获取和使用进程的文件描述符,而是打开文件描述符“指向”的文件.
当然,您需要权限/权限/权限才能这样做.如果您拥有这两个进程或者您是root用户,那么您拥有哪个.
编辑:如果不是在bash中你也可以使用/ proc / self / …而不是/ proc / $$/ …来获取有关当前进程的信息.
以上是大佬教程为你收集整理的Linux中另一个进程的重复文件描述符(不带sendmsg)全部内容,希望文章能够帮你解决Linux中另一个进程的重复文件描述符(不带sendmsg)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。