草庐IT

Unix-ish

全部标签

sockets - Unix 中的 TCP 套接字 - 通知服务器我已完成发送

我有一个很小的​​TCP应用程序,许多客户端连接到服务器,向它发送数据(通过write()-它们也发送消息大小)然后退出。我让客户端在发送完成后将\0\0发送到服务器——我这样做是为了如果服务器从read()中得到一个零,那么它就知道客户端出了点问题(比如SIGKILL)。我的问题是-是否有任何编程方式(某些系统调用)通知服务器我已完成发送-而不是服务器始终检查\0\0?服务器在客户端/监听套接字上使用poll()来检测是否有要读取的内容/新的连接请求,顺便说一句。我应该发送信号吗?但是我怎么知道要停止轮询哪个描述符呢?我读了this但那里的答案或多或少是我现在使用的

tcp 连接超时(unix/windows 便携)

我正在使用perl(希望它不会影响任何东西),但我需要知道如何为连接操作设置超时。问题是我不能永远等待连接操作的发生。如果它没有在几秒钟内发生,我宁愿放弃并继续前进。socket(my$sock,PF_INET,SOCK_STREAM,(getprotobyname('tcp'))[2]);setsockopt($sock,SOL_SOCKET,SO_SNDTIMEO,10);#sendtimeoutprint"connecting...\n";connect($sock,sockaddr_in(80,scalargethostbyname('lossy.host.com')));pr

php - 在 Unix 套接字上运行 PHP-FPM 与在 TCP/IP 套接字上运行有什么区别?

运行PHP-FPM有这两种方式。我知道在技术上没有什么是防弹的,但这两种方法的优缺点是什么? 最佳答案 不同之处主要在于使用完整的网络堆栈来“打包”和“解包”每条数据所增加的开销。请注意,对于大多数部署而言,开销可以忽略不计当前端(例如Nginx)和php-fpm在同一个盒子中时,使用套接字(例如listen='/tmp/php-fpm.sock')是有意义的您可以选择一起水平扩展前端和后端(假设您正在使用两者构建一个容器,并且您可以创建更多容器,每个容器都有一个工作对)或您唯一的选择是垂直扩展您正在使用的一个“盒子”(例如,您添加

unix - lsof 打印数字端口

如何让lsof生成数字端口信息而不是尝试将端口解析为服务名称?例如,我希望TCP*:http(LISTEN)给我TCP*:80(LISTEN)事实上,如果可能的话,我从不想再次在lsof打印输出中看到另一个服务名称。因此,如果有一种方法可以将数字端口设置为默认值,我也想了解如何做到这一点。 最佳答案 运行lsof-P。如果将选项与-i结合使用,请确保P在i之前:lsof-Pi根据manlsof,-P禁止将端口号转换为网络文件的端口名称。禁止转换可能会使lsof运行得更快一些。当端口名称查找工作不正常时,它也很有用。”

performance - PostgreSQL UNIX 域套接字与 TCP 套接字

我想知道在高并发率下,UNIX域套接字与postgresql的连接是否比本地主机的tcp连接快,如果快,快多少? 最佳答案 Postgres核心开发人员BruceMomjian拥有bloggedaboutthistopic.Momjian指出,“Unix域套接字通信明显更快。”他测量了查询网络性能,表明本地域套接字比使用TCP/IP堆栈快33%。 关于performance-PostgreSQLUNIX域套接字与TCP套接字,我们在StackOverflow上找到一个类似的问题:

java - ant 中的 unix2dos(或 dos2unix)

如何使用ant执行unix2dos(或dos2unix)。IE。我想将换行符从linux换行符(如果有的话)更改为dos换行符 最佳答案 找到-是AntFixCRLFtask. 关于java-ant中的unix2dos(或dos2unix),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/650075/

java - 运行可执行 jar 文件的最低 unix 权限是什么?

如果我有一个jar需要在unix上使用java-jarFOO.jar运行,这取决于读、写或执行位吗?或者它们的某种组合? 最佳答案 您只需要读取.jar,因为java是您正在执行的,它会读取jar。 关于java-运行可执行jar文件的最低unix权限是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2668796/

java - 是否有一个java库相当于unix中的文件命令

有没有类似unix命令file的java库?即:$filesomepicture.pngsomepicture.pngPNGimage,805x292,8-bit/colorRGB,non-interlaced文件命令是一个很好的工具。我需要一些可以告诉我文件是否真的是我想要的东西的东西。(即图片、文档等)我知道我可以运行命令file,但我正在寻找一个java库,而不是运行实际的unix命令。 最佳答案 快速谷歌搜索(对于公认的非显而易见的)"javamagicfiledetection"调出一篇相当漂亮的文章,"GettheMim

java - Unix 中的移动操作是原子的吗?

假设有2个进程P1和P2,它们访问一个共享文件Foo.txt。假设P2正在读取Foo.txt。我不希望P1在P2读取时写入Foo.txt。所以我想我可以让P1写入Foo.tmp,最后一步,将Foo.tmp重命名为Foo.txt.我的编程语言是Java所以我的问题是,这是否可以确保P2从Foo.txt中读取正确的数据?重命名操作是否会在P2完成读取文件后提交?编辑我尝试按如下方式重新创建此场景:我的P1代码是这样的:FiletempFile=newFile(path1);FilerealFile=newFile(path2);BufferedWriterwriter=newBuffere

作为 Unix 服务运行的 Java

这个问题在这里已经有了答案:HowtoDaemonizeaJavaProgram?(11个答案)关闭7年前。我用Java构建了一个小守护进程,我想在Unix(例如Debian5)下将其作为服务运行。我读过有可能使用Java包装器,但是没有其他更容易实现的选项吗?我不能只使用诸如xxxjava-jarprogram.jar之类的Unix命令吗?