Tag: linux

-pthread标志在编译时的意义

在各种multithreading的C和C ++项目中,我已经看到了-pthread标志应用于编译和链接阶段,而其他标志完全不使用它,只是将-lpthread传递给链接阶段。 有没有编译和链接与-pthread标志的任何危险 – 即-pthread实际上做什么? 我主要对Linux平台感兴趣。

如何在Linux上查找包含特定文本的所有文件?

我试图find一种方法来扫描我的整个Linux系统的所有文件包含特定的文本string。 只是为了澄清,我正在寻找文件中的文本,而不是在文件名。 当我正在查找如何做到这一点时,我遇到了这个解决scheme两次: find / -type f -exec grep -H 'text-to-find-here' {} \; 但是,它不起作用。 它似乎显示在系统中的每个单个文件。 这是否接近正确的方式来做到这一点? 如果不是,我该怎么办? 这种在文件中查找文本string的function对于我正在进行的一些编程项目来说是非常有用的。

杀死所有subprocess的最好方法

我想杀死整个进程树。 使用任何通用脚本语言来做这件事的最好方法是什么? 我正在寻找一个简单的解决scheme。

用空格遍历文件列表

我想迭代一个文件列表。 这个列表是find命令的结果,所以我想出了: getlist() { for f in $(find . -iname "foo*") do echo "File found: $f" # do something useful done } 没关系,除非文件名中有空格: $ ls foo_bar_baz.txt foo bar baz.txt $ getlist File found: foo_bar_baz.txt File found: foo File found: bar File found: baz.txt 我能做些什么来避免在空间上的分裂?

如何将DOS / Windows换行符(CRLF)转换为Unix换行符(\ n)在Bash脚本中?

我怎样才能以编程方式(即不使用vi )将DOS / Windows换行符转换成Unix? dos2unix和unix2dos命令在某些系统上不可用。 我如何用sed / awk / tr等命令来模拟这些命令?

如何在使用SUDO时保持环境variables

当我用sudo使用任何命令时,环境variables不在那里。 例如,设置HTTP_PROXY后,命令wget没有sudo可以正常工作。 但是,如果我键入sudo wget它说它不能绕过代理设置。

父母退出后如何让孩subprocess死亡?

假设我有一个产生一个subprocess的进程。 现在,当父进程出于任何原因(通常或exception,通过kill,^ C,声明失败或其他),父进程退出,我希望subprocess死亡。 如何正确地做到这一点? 一些类似的问题在stackoverflow: (之前问过) 当父进程执行时,如何导致subprocess退出? (稍后问) 是否使用fork()创build的subprocess在父进程被终止时自动终止? Windows上的一些类似的问题在stackoverflow: 如何在Windows中自动销毁subprocess? 当父进程被终止时,终止subprocess

我怎样才能redirect和附加stdout和stderr到Bash文件?

要将stdoutredirect到Bash中的截断文件,我知道使用: cmd > file.txt 要在Bash中redirectstdout ,附加到一个文件,我知道使用: cmd >> file.txt 为了将stdout和stderrredirect到截断的文件,我知道使用: cmd &> file.txt 如何redirectstdout和stderr追加到文件? cmd &>> file.txt没有为我工作。

Hadoop“无法为您的平台加载原生Hadoop库”警告

我目前在运行CentOs的服务器上configurationhadoop。 当我运行start-dfs.sh或stop-dfs.sh ,出现以下错误: WARN util.NativeCodeLoader:无法为您的平台加载native-hadoop库…在适用的情况下使用builtin-java类 我正在运行Hadoop 2.2.0。 做一个在线search提出了这个链接: http : //balanceandbreath.blogspot.ca/2013/01/utilnativecodeloader-unable-to-load.html 然而,hadoop 2.x上的/native/目录的内容似乎不同,所以我不知道该怎么做。 我也在hadoop-env.sh添加了这两个环境variables: export HADOOP_OPTS =“$ HADOOP_OPTS -Djava.library.path = / usr / local / hadoop / lib /” 导出HADOOP_COMMON_LIB_NATIVE_DIR =“/ usr / local / hadoop / lib / native /” 有任何想法吗?

Linux中每个进程的最大线程数?

在Linux下,一个进程可以创build的最大线程数是多less? (如果可能)如何修改这个值?