Articles of shell

在linux中用子节点recursion地杀死R进程

我正在寻找一个通用的方法来启动,然后杀死一个R进程,包括可能调用的所有分支或其他进程。 例如,用户像这样运行脚本: library(multicore); for(i in 1:3) parallel(foo <- "bar"); for(i in 1:3) system("sleep 300", wait=FALSE); for(i in 1:3) system("sleep 300&"); q("no") 用户退出R会话后,subprocess仍在运行: jeroen@jeroen-ubuntu:~$ ps -ef | grep R jeroen 4469 1 0 16:38 pts/1 00:00:00 /usr/lib/R/bin/exec/R jeroen 4470 1 0 16:38 pts/1 00:00:00 /usr/lib/R/bin/exec/R jeroen 4471 1 0 16:38 pts/1 00:00:00 /usr/lib/R/bin/exec/R jeroen 4502 4195 […]

PHP日志文件的颜色

我正在写一个PHP日志文件类,但我想添加颜色到写入文件的行。 我遇到的问题是颜色也改变了terminal的颜色,我想实现的只是改变写入日志文件的行的颜色。 class logClass extends Singleton { private function checkDate() { return date("onSj"); } public function logNotice($str) { $this->write($str, "\033[33m"); } public function write($string, $color) { $fileName = $this->checkDate(); $handle = fopen('error.log', 'a'); fwrite($handle, "$color" . date("Ymd H:i:s") . $string . "\n"); fclose($handle); } }

shell脚本错误期待“做”

#!/bin/sh while true ; do echo "WTF" done 这是一个语法错误:语法错误:意外的文件结尾(期待“做”) 我也试过: #!/bin/sh while : do echo "WTF" done

使用命令行从谷歌下载图像

我想下载谷歌给我的命令行的第n个图像,就像命令wget search[something]形象,我只是去页面https://www.google.cz/search?q=[something]&tbm=isch但我怎么得到第nsearch结果的url,所以我可以使用wget?

如何通过保持目录结构完整的rsyncpath匹配模式的文件?

我想将所有文件从服务器A复制到服务器B,它们在文件系统层次结构的不同级别具有相同的父目录名称,例如: /var/lib/data/sub1/sub2/commonname/filetobecopied.foo /var/lib/data/sub1/sub3/commonname/filetobecopied.foo /var/lib/data/sub2/sub4/commonname/anotherfiletobecopied.foo /var/lib/data/sub3/sub4/differentname/fileNOTtobecopied.foo 我想复制前三个文件的path中的所有commonname到服务器B.我已经花了很多时间find正确的包括/排除模式的rsync但我没有得到它。 以下命令不起作用: rsync -a –include='**/commonname/*.foo' –exclude='*' root@1.2.3.4:/var/lib/data /var/lib/data 我要么太多或太less的文件。 我怎样才能只同步文件path中的commonname ?

如果我们closures已经启动的terminal,linux是否会终止后台进程?

我有一个embedded式系统,我做了telnet ,然后在后台运行一个应用程序: ./app_name & 现在,如果我closures我的terminal,并从其他terminal做telnet ,如果我检查,然后我可以看到这个过程仍在运行。 为了检查这个我写了一个小程序: #include<stdio.h> main() { while(1); } 我在后台运行这个程序在我的本地Linux电脑上,我closures了terminal。 现在,当我从其他terminal检查这个过程时,我发现这个过程也被杀死了。 我的问题是: 为什么对同一types的过程的未定义的行为? 它依赖于哪个? 它依赖于Linux的版本吗?

chmod:如何recursion添加执行权限只有已经有执行权限的文件

我注意到: chmod -R a+x将执行权限添加到所有文件,而不仅仅是当前可执行的文件。 有没有办法将执行权限仅添加到已经为用户权限设置了执行权限的文件?

用ssh检查远程主机上是否存在文件

我想检查远程主机上是否存在某个文件。 我试过这个: $ if [ ssh reg@localhost -p 19999 -e /home/reg/Dropbox/New_semiosNET/Research_and_Development/Puffer_and_Traps/Repeaters_Network/UBC_LOGS/log1349544129.tar.bz2 ] then echo "okidoke"; else "not okay!" fi -sh: syntax error: unexpected "else" (expecting "then")

列出多个jar文件的内容

我在一堆jar子里search一个.class文件。 jar tf abc.jar 适用于一个文件。 我试过了 find -name "*.jar" | xargs jar tf 什么也不印。 我能想到的唯一解决方法是解压所有,然后search。 有没有更好的办法? 我在LUnix。 编辑 :当扫描很多jar文件时,打印jar文件名和类是很有用的。 这种方法效果很好: find . | grep jar$ | while read fname; do jar tf $fname | grep SchemaBuilder && echo $fname; done 产生的样本输出: 1572 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder$1.class 1718 Wed Jul 25 10:20:18 EDT […]

BASH:“出口k = 1”与“k = 1”之间的差异

我要写一个脚本,它看起来没有区别: export k=1 和 k=1 我对吗?