Questions tagged «linux»

LINUX问题必须与编程有关。仅当您的问题与使用Linux API或Linux特定行为进行编程有关时才使用此标记,而不仅仅是因为您碰巧在Linux上运行代码。如果需要Linux支持,可以尝试https://unix.stackexchange.com或特定Linux发行版的Stack Exchange网站,例如https://askubuntu.com或https://elementaryos.stackexchange.com/

2
Linux中具有多个线程的信号处理
在Linux中,当程序(可能具有多个线程)接收到诸如SIGTERM或SIGHUP之类的信号时会发生什么? 哪个线程拦截信号?多个线程可以得到相同的信号吗?是否有专门用于处理信号的特殊线程?如果不是,那么在处理信号的线程内部会发生什么?信号处理程序例程完成后,如何恢复执行?
119 c  linux  multithreading  signals  ipc 

3
make的DESTDIR和PREFIX
我正在尝试将软件安装到特定目录。我发现了几种方法,但不确定它们之间有什么区别。 ./configure --prefix=*** make install DESTDIR=*** make install prefix=*** 我对这三个功能感到困惑。他们是否达到了相同的目标?
118 c  linux  bash  makefile  configure 


7
检查bash中当前分区的可用磁盘空间
我正在用bash编写安装程序。用户将转到目标目录并运行安装脚本,因此第一个操作应该是检查是否有足够的空间。我知道df将报告所有文件系统,但是我想知道是否有一种方法可以仅针对目标目录所在的分区获取可用空间。 编辑-我想出的答案 df $PWD | awk '/[0-9]%/{print $(NF-2)}' 有点奇怪,因为df似乎会格式化其输出以适合终端,因此对于长安装点名称,输出将下移一行
118 linux  bash 

5
Java使用的内存远大于堆大小(或正确大小的Docker内存限制)
对于我的应用程序,Java进程使用的内存远远大于堆大小。 容器运行所在的系统开始出现内存问题,因为容器占用的内存比堆大小大得多。 堆大小设置为128 MB(-Xmx128m -Xms128m),而容器最多占用1GB的内存。正常情况下需要500MB。如果docker容器的限制低于(例如mem_limit=mem_limit=400MB),则该进程将被操作系统的内存不足杀手杀死。 您能解释一下为什么Java进程使用的内存比堆多得多吗?如何正确调整Docker内存限制的大小?有没有办法减少Java进程的堆外内存占用量? 我使用来自JVM中本机内存跟踪的命令收集了有关此问题的一些详细信息。 从主机系统,我获得了容器使用的内存。 $ docker stats --no-stream 9afcb62a26c8 CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 9afcb62a26c8 xx-xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.0acbb46bb6fe3ae1b1c99aff3a6073bb7b7ecf85 0.93% 461MiB / 9.744GiB 4.62% 286MB / 7.92MB 157MB / 2.66GB 57 从容器内部,获取进程使用的内存。 $ ps -p 71 -o pcpu,rss,size,vsize …
118 java  linux  docker  memory  jvm 

2
grep的基本表达式不支持\ d吗?
这不会产生任何输出。怎么会? $ echo 'this 1 2 3' | grep '\d\+' 但是这些可以做到: $ echo 'this 1 2 3' | grep '\s\+' this 1 2 3 $ echo 'this 1 2 3' | grep '\w\+' this 1 2 3
118 linux  grep 


10
Bash脚本来计算经过的时间
我正在用bash编写脚本来计算执行命令所花费的时间,请考虑: STARTTIME=$(date +%s) #command block that takes time to complete... #........ ENDTIME=$(date +%s) echo "It takes $($ENDTIME - $STARTTIME) seconds to complete this task..." 我想我的逻辑是正确的,但是我最终得到了以下打印输出: “完成此任务需要几秒钟的时间...” 我的字符串评估有什么问题吗? 我相信bash变量是无类型的,但是如果bash中有“从字符串到整数”的方法,我还是很乐意的。
118 linux  bash  shell 

14
没有找到gradlew命令?
我正在使用gradlew进行Java项目。我使用Ubuntu Linux作为操作系统。当我运行“ gradle”时,它将运行并提供信息。但是,当我运行“ gradlew”时,其输出为“未找到命令'gradlew',您的意思是:软件包'gradle'(universe)gradlew中的命令'gradle':未找到命令” 我做了研究,有了jdk,并且做了sudo apt-get install gradle。我完全一无所知


5
错误:使用了Libtool库,但未定义“ LIBTOOL”
我正在尝试automakeOrientDb C ++库,但出现一些错误。 Makefile.am:10: error: Libtool library used but 'LIBTOOL' is undefined Makefile.am:10: The usual way to define 'LIBTOOL' is to add 'LT_INIT' Makefile.am:10: to 'configure.ac' and run 'aclocal' and 'autoconf' again. Makefile.am:10: If 'LT_INIT' is in 'configure.ac', make sure Makefile.am:10: its definition is in aclocal's search path. https://github.com/tglman/orientdb-c https://github.com/tglman/orientdb-c/wiki/安装 …
117 c  linux  autotools  orientdb 

4
无法使用Ctrl-C终止Python脚本
我正在使用以下脚本测试Python线程: import threading class FirstThread (threading.Thread): def run (self): while True: print 'first' class SecondThread (threading.Thread): def run (self): while True: print 'second' FirstThread().start() SecondThread().start() 它在Kubuntu 11.10上的Python 2.7中运行。Ctrl+ C不会杀死它。我还尝试为系统信号添加处理程序,但这没有帮助: import signal import sys def signal_handler(signal, frame): sys.exit(0) signal.signal(signal.SIGINT, signal_handler) 为了终止进程,我使用Ctrl+ 将程序发送到后台后通过PID将其终止Z,这不会被忽略。为什么Ctrl+ C被如此持久地忽略?我该如何解决?
117 python  linux 

1
防止strace缩写参数?
我正在尝试使用strace找出程序使用执行什么命令execve。这些命令中的某些参数很长,并且strace会将缩写为execve(大约30个字符后会显示“ ...”),这使我无法获取任何有用的信息。如何获得每个论点的全文? 我已经阅读了手册页。-v选项显示环境,这很有用,但是参数仍然被截断。 strace -f -e trace=execve -v -p 1234 我还尝试传递verbose = all,但这仅提供了一些有关SIGCHLD的信息。 strace -f -e verbose=all trace=execve -v -p 1234
117 linux  strace 


5
如何在C语言中的Linux中使用共享内存
我的一个项目有一个问题。 我一直在尝试找到一个有据可查的使用共享内存的例子,fork()但是没有成功。 基本上情况是,当用户启动程序时,我需要在共享内存中存储两个值:current_path(它是一个char *)和file_name(它也是char *)。 根据命令参数,将启动一个新进程fork(),该进程需要读取和修改共享内存中存储的current_path变量,而file_name变量为只读。 是否有关于共享内存的很好的教程,并带有示例代码(如果可能),您可以将其引导至?
117 c  linux  fork  shared-memory 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.