Tag: linux

Linux:在同一行上的特定单词之后提取一个单词

我是一个新的Linux用户,我是自学的,所以我很抱歉,如果这个问题是愚蠢的。 我在网上search,但无法find一个正确的答案..我怎样才能提取一个字在Linux(csh)的特定单词后? 更确切地说,我有一个文件,其中有一行看起来像这样的文件: [一些无用的数据] –pe_cnt 100 –rd_cnt 1000 [更多数据] 我想提取–pe_cnt字之后的数字100 。 我不能使用'sed',因为只有当你想要提取整行时才有效。 也许我可以用'awk'? 此外,我有多个文件有不同的值而不是100,所以我需要的东西,提取的价值,但不依赖于价值。

DSO从命令行中丢失

我正在尝试编译一个像这样的C ++程序: $ g++ -o Sniffer_Train main.cpp Sniffer_train.cpp Sniffer_train.h -lmysqlclient -lpcap 但是,我得到以下错误: /usr/bin/ld: /tmp/cct6xeXD.o: undefined reference to symbol 'pthread_join@@GLIBC_2.4' //lib/arm-linux-gnueabihf/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status 我不知道这个错误是什么意思。 任何帮助将不胜感激。

listen()忽略积压参数?

我有以下问题: 我有sockfd = socket(AF_INET, SOCK_STREAM, 0) 当我build立并绑定套接字(比如sockfd.sin_port = htons(666) )后,我立刻做了: listen(sockfd, 3); sleep(50); // for test purposes 我睡了50秒来testing积压参数,这似乎被忽略,因为我可以build立连接*在端口666上超过3次。 *:我的意思是,我从每个从客户端发送的第N个SYN(n> 3)获得一个syn / ack,并放入监听队列中,而不是被丢弃。 什么可能是错的? 我读过listen(2)和tcp(7)的man页面,发现: Linux套接字上的backlog参数的行为随Linux 2.2而改变。 现在它指定了等待被接受的完全build立的套接字的队列长度,而不是不完整的连接请求的数目。 不完整套接字队列的最大长度可以使用/ proc / sys / net / ipv4 / tcp_max_syn_backlog来设置。 当启用syncookies时,没有逻辑最大长度,这个设置被忽略。 有关更多信息,请参阅tcp(7)。 ,但即使使用sysctl -w sys.net.ipv4.tcp_max_syn_backlog=2和sysctl -w net.ipv4.tcp_syncookies=0 ,我仍然得到相同的结果! 我一定是错过了一些东西,或者完全误解了listen()的积压目的。

Java ProcessBuilder:结果进程挂起

我一直在尝试使用Java的ProcessBuilder在Linux中启动应该“长期”运行的应用程序。 这个程序运行的方式是启动一个命令(在这种情况下,我启动一个媒体播放应用程序),让它运行,并检查,以确保它没有崩溃。 例如,检查PID是否仍然有效,然后重新启动进程,如果它已经死了。 我现在得到的问题是,PID在系统中保持活动状态,但应用程序的GUI挂起。 我尝试将ProcessBuilder(cmd).start()转换为一个单独的线程,但似乎没有解决任何问题,正如我所希望的那样。 基本上,对于用户来说,程序APPEARS已经崩溃,但是杀死驱动ProcessBuilder.start()进程的Java进程实际上允许创build的进程恢复其正常行为。 这意味着Java应用程序中的某些内容正在干扰生成的进程,但我完全不知道在这一点上是什么。 (因此,为什么我试图把它分成另一个线程,这似乎没有解决任何问题) 如果有人有任何意见或build议,请让我知道,因为我不能为了我的生活而想到如何解决这个问题。 编辑:我不关心从stream程创build的I / Ostream,因此没有采取任何措施来处理 – 这可能会导致stream程本身的挂起?

如何通过Python中的进程名称获得PID?

有没有什么办法可以通过Python中的进程名称获得PID? PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3110 meysam 20 0 971m 286m 63m S 14.0 7.9 14:24.50 chrome 例如,我需要通过chrome获得3110 。

“无法加载平台插件”xcb“”,而没有安装qt在Linux上启动qt5应用程序

我为使用Qt5的linux编写了应用程序。 但是当我试图在未安装Qt SDK的linux上启动它时,控制台中的输出是: 无法加载平台插件“xcb”。 可用的平台是: 我该如何解决这个问题? 可能是我需要复制一些插件文件? 当我使用安装Qt5的Ubuntu,但我重命名Qt目录,同样的问题发生。 所以,它使用Qt目录中的一些文件… 更新:当我在应用程序目录中创build与文件libqxcb.so文件夹“平台”,应用程序仍然不启动,但错误消息更改: 无法加载平台插件“xcb”。 可用的平台是: XCB 这怎么可能发生? 平台插件如何可用,但无法加载?

使用pthread_cancel取消线程:好的做法或不好的

我在Linux上有一个C ++程序(CentOS 5.3)产生多个线程,在无限循环中执行一个任务并在一定的时间内hibernate。 现在,我必须取消正在运行的线程,以防万一发生新的configuration通知,并且新启动一组新的线程,为此我使用了pthread_cancel。 我观察到的是,即使接收到取消指示,线程也没有停止,甚至一些睡眠线程在睡眠完成后出现。 由于行为并不理想,所以在上述情况下使用pthread_cancel会引起对做法的好坏的质疑。 请在上述场景中对pthread_cancel用法进行评论。

监视目录的更改

就像一个类似的SO问题 ,我试图监视Linux文件夹中添加新文件的目录,并希望在到达时立即处理这些新文件。 任何想法实现这个最好的方法?

使用C代码来获取与ifconfig相同的信息

有没有办法在Linux中使用C代码来获取“ifconfig eth0”将返回的相同信息? 我对IP地址,链接状态和MAC地址等东西感兴趣。 以下是ifconfig的输出示例: eth0 Link encap:Ethernet HWaddr 00:0F:20:CF:8B:42 inet addr:217.149.127.10 Bcast:217.149.127.63 Mask:255.255.255.192 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2472694671 errors:1 dropped:0 overruns:0 frame:0 TX packets:44641779 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1761467179 (1679.8 Mb) TX bytes:2870928587 (2737.9 Mb) Interrupt:28

从doc和docx中提取文本

我想知道如何阅读文档或docx的内容。 我正在使用Linux VPS和PHP,但是如果使用其他语言的解决scheme更简单,请让我知道,只要它在Linux Web服务器下工作。