Tag: linux

我怎样才能得到我的主要function已经返回?

在C程序中,如果我们想从terminal给一些input,那么我们可以给它: int main(int argc, char *argv[]) 同样,如果我们想要获得main()函数的返回值,那么我们怎样才能得到它? 在每个main()我们写return 1或return 0 ; 我怎么知道我的main()在terminal返回了什么? 编辑:1 我明白,通过echo $? 我们可以得到main()的返回值,但是它只允许我成功返回小于125的值(在Linux中)。 比这更多的返回值不能被$ variable成功接收 为什么int是main()的返回types? 为什么不保持short int ? EDIT2 如果main()返回的值大于125,我可以从哪里find错误代码的含义?

shell脚本杀死在端口3000上侦听的进程?

我想定义一个名为kill3000的bash别名来自动执行以下任务: $ lsof -i:3000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ruby 13402 zero 4u IPv4 2847851 0t0 TCP *:3000 (LISTEN) $ kill -9 13402

否则,如果在bash脚本中的条件

我是新来的bash和我坚持试图否定下面的命令: wget -q –tries=10 –timeout=20 –spider http://google.com if [[ $? -eq 0 ]]; then echo "Sorry you are Offline" exit 1 如果我连接到互联网,如果条件返回true。 我希望它发生的另一种方式,但把! 任何地方似乎没有工作。

Linux二进制安装程序(.bin,.sh)如何工作?

某些软件(例如, NetBeans IDE )以.sh文件forms提供Linux安装程序。 对于如何将整个IDE“打包”成“shell脚本”感到好奇,我在一个编辑器中打开了这个文件。 我看到一些纯文本shell脚本代码,然后是一些随意的乱码,我认为它是“二进制”或非纯文本。 我想知道他们如何混合纯shell脚本,然后可能会调用“不可读”的东西,这将是二进制文件。 有关于此的任何见解?

如何从Linux中的C获取毫秒的当前时间?

如何在毫秒内获得Linux上的当前时间?

在意外的bash退出中删除创build的临时文件

我正在创build一个bash脚本的临时文件。 我在处理结束时将它们删除,但是由于脚本运行了相当长的时间,如果我在运行过程中杀死它或仅仅是CTRL-C,临时文件不会被删除。 有什么方法可以在执行结束之前捕捉这些事件并清理文件? 另外,这些临时文件的命名和位置是否有某种最佳实践? 我目前不确定在使用之间: TMP1=`mktemp -p /tmp` TMP2=`mktemp -p /tmp` … 和 TMP1=/tmp/`basename $0`1.$$ TMP2=/tmp/`basename $0`2.$$ … 或者,也许有更好的解决scheme?

英特尔汇编语法与AT&T相比的局限性

对我来说,英特尔语法更容易阅读。 如果我只通过英特尔语法去集合森林,我会错过任何东西吗? 是否有任何理由我想切换到AT&T(除了能够读取其他AT&T组件)? 我的第一个线索是gdb默认使用AT&T。 如果这件事情,我的重点只是任何关系汇编和语法可能要Linux / BSD和C语言。

在Bashmultithreading

我想在我的shell脚本中引入multithreadingfunction。 我有一个脚本,用不同的参数调用函数read_cfg() 。 每个函数调用都是独立的。 是否有可能并行地实例化这些函数调用(不是脚本)。 请让我怎么做到这一点..?

如何使用gem在Ubuntu上安装Rails

错误消息: Building native extensions. This could take a while… ERROR: Error installing rails: ERROR: Failed to build gem native extension. /usr/bin/ruby2.1 -r ./siteconf20150328-1540-hff2f0.rb extconf.rb checking if the C compiler accepts … *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for […]

OS X上的弱符号别名与Linux上的符号别名类似,还是最近似的?

我做的事 在为Linux编写共享库时,我倾向于注意重定位,符号可见性,GOT / PLT等。 适用时,我试图避免在同一个库中的函数互相调用时调用PLT存根。 例如,假设一个共享对象提供了两个公共函数foo()和bar() (这两个函数都可以被用户调用)。 bar()函数也会调用foo() 。 所以我在这种情况下做的是这样的: 定义具有私有可见性的_foo()和_bar()函数。 分别为_foo()和_bar()定义foo()和bar()弱别名。 这样,共享对象中的代码就不会使用弱符号。 它只直接调用本地函数。 例如,当_bar()被调用时,它直接调用_foo() 。 但用户不知道_*函数,并始终使用相应的弱别名。 我怎么做 在Linux中,这是通过使用以下结构来实现的: extern __typeof (_NAME) NAME __attribute__(weak, alias("_NAME")); 问题 不幸的是,这不适用于OS X.我对OS X或其二进制格式没有深入的了解,所以我探索了一下,发现了一些弱函数的例子(比如这个 ),但是这些并不完全就像你可以有一个弱符号一样,但不是一个弱符号,它是DSO本地函数的别名。 可能的解决… 现在,我刚刚禁用了这个function(使用macros实现),以便所有符号都是全局符号,并具有默认的可见性。 我现在能想到的唯一方法就是让所有的_foo函数具有私有的可见性,并具有相应的具有默认可见性的foo函数,并调用它们的“隐藏”对应函数。 更好的方法? 然而,这需要改变很多代码。 所以我宁愿不去那里,除非没有别的办法。 那么什么是closuresOS X的select或最简单的方法来获得相同的语义/行为?