Articles of unix

我如何修改我的用户PROFILE文件来追加我创build的脚本文件夹到我的PATHvariables的末尾?

我如何修改我的用户PROFILE文件来追加我创build的脚本文件夹到我的PATHvariables的末尾? 我不完全确定这是什么意思。 任何人都可以解释 谢谢 :)

a.out被ELF文件格式取代?

我有几个问题: 为什么a.out被ELF取代? a.out格式中导致ELF文件格式升级的主要缺陷是什么? 较早的核心转储基于a.out,但是现在它们基于ELF。 ELF提供的各种优势是什么?

如何检查JBoss是否在Unix服务器上运行?

我有一个脚本下面,我想回声“jboss不运行”或“jboss运行”取决于它是否可以在进程列表中findjboss进程。 但是,当我closuresJboss的时候,它仍然执行Else条件,并且说“jboss正在运行”。 如果我手动执行“pgrep -f jboss”,它不会返回任何东西,那么为什么它仍然会进入其他条件? 困惑 #!/bin/bash if [ -z "$(pgrep -f jboss)" ] then echo "jboss is not running" else echo "jboss is running" fi 谢谢你的帮助!

用可变的顶端编写一个bash for-loop

我经常使用众所周知的语法在bash中编写for循环: for i in {1..10} […] 现在,我正试图写一个顶部由variables定义的地方: TOP=10 for i in {1..$TOP} […] 我已经尝试了各种各样的parens,花括号,评估等,并且通常会返回一个错误的“错误替代”。 我怎么能写我的for循环,以便极限取决于一个variables,而不是一个硬编码值?

如何使Unix二进制独立?

我有一个没有源代码的Linux二进制文件,可以在一台机器上运行,我想制作一个独立的软件包,它可以在同一架构的不同机器上运行。 什么是实现这个方法? 在我的情况下,两台机器具有相同的体系结构,相同的Ubuntu内核,但是目标机器没有make并且在/lib和/usr下有错误的文件版本 我有一个想法是使用chroot并重新创build二进制文件系统的一个子集,可能使用strace来找出它需要的。 有没有这样做的工具? 对于后人来说,这是我如何确定一个进程打开的文件 #!/usr/bin/python # source of trace_fileopen.py # Runs command and prints all files that have been successfully opened with mode O_RDONLY # example: trace_fileopen.py ls -l import re, sys, subprocess, os if __name__=='__main__': strace_fn = '/tmp/strace.out' strace_re = re.compile(r'([^(]+?)\((.*)\)\s*=\s*(\S+?)\s+(.*)$') cmd = sys.argv[1] nowhere = open('/dev/null','w')# p = subprocess.Popen(['strace','-o', strace_fn]+sys.argv[1:], stdout=nowhere, […]

使用fork / execvp和系统调用之间的区别

使用system()执行二进制文件和使用fork / execvp的组合有什么区别。 有没有安全/可移植性/性能差异?

我如何运行带有参数的cron作业并将结果传递给日志?

例: * * * * * /usr/bin/php /full/path/to/script.php arg1 arg2 > /full/path/to/logfile.log 该脚本运行并访问参数就好了,但结果从不会打印到logfile.log。 另外,我的logfile.log是chmod 777,所以我知道它有写权限。 你能修正我的语法吗?

如何testing你的Linux支持SSE2

其实我有两个问题: 是SSE2兼容性CPU问题或编译器问题? 如何检查你的CPU或编译器是否支持SSE2? 我正在使用GCC版本: gcc (GCC) 4.5.1 当我试图编译一个代码,它给了我这个错误: $ gcc -O3 -msse2 -fno-strict-aliasing -DHAVE_SSE2=1 -DMEXP=19937 -o test-sse2-M19937 test.c cc1: error: unrecognized command line option "-msse2" 而cpuinfo显示了这一点: processor : 0 vendor : GenuineIntel arch : IA-64 family : 32 model : 1 model name : Dual-Core Intel(R) Itanium(R) Processor 9140M revision : 1 archrev : 0 […]

Unix除了最后两个令牌之外,

我试图parsing特定目录中的文件名。 文件名格式为: token1_token2_token3_token(N-1)_token(N).sh 我需要使用分隔符'_'来剪切标记,除了最后两个标记之外,还需要使用string。 在上面的例子中输出应该是token1_token2_token3 。 令牌的数量不固定。 我已经试过用-f#- cut命令的选项来做,但没有find任何解决scheme。 有任何想法吗?

SIGHUP重新加载configuration

根据signal(7) , SIGHUP用于检测控制terminal的挂断或控制过程的死亡。 但是,我遇到了很多OSS守护进程(服务), SIGHUP用来启动重新加载configuration。 这里有几个例子: hostapd , sshd , snort等 这是一个标准(或普遍接受)的方式来实现重新加载? 如果没有,build议什么?