
linux是否调度进程或线程?
在阅读了这样的问题之后,我有了一些疑问。请帮助理解。调度涉及确定何时运行流程以及运行时间的多少。linux内核是否调度线程或进程?由于内核中的进程和线程没有区别,调度程序如何对待它们?如何确定每个线程的数量?一个。如果为一个进程确定了一个时间量(例如100us),是在该进程...
2024-01-10
如何在Linux上检查进程的堆大小
我在写一些代码,但一直崩溃。后来,在挖掘转储之后,我意识到我正在超出最大堆限制(如果我在malloc上添加了检查,生活会更轻松)。尽管我已解决问题,但是有什么办法可以增加堆大小?回答:堆通常与体系结构上可寻址的虚拟内存一样大。您应该使用ulimit -a命令检查系统的当前限制,并找到...
2024-01-10
什么是linux进程表?它由什么组成?
这个术语一直出现在我的操作系统说明中,我不确定它是什么/在哪里存储以及如何或为什么使用。回答:Linux中的进程表(例如几乎所有其他操作系统中的进程表)只是计算机RAM中的数据结构。它包含有关OS当前正在处理的进程的信息。此信息包括有关每个过程的一般信息进程ID流程所有者流程优...
2024-01-10
查找进程linux(C代码)的打开文件描述符?
我想找到在Linux中为某个进程打开的所有fds。我可以使用glib库函数吗?回答:由于您使用的是Linux,因此(几乎可以肯定)已/proc挂载了文件系统。这意味着最简单的方法是获取清单的内容/proc/self/fd;其中的每个文件都以FD命名。(当然,请使用g_dir_open,g_dir_read_name并g_dir_close列出信息。)否则获取信...
2024-01-10
mmap,msync和linux进程终止
我想使用mmap通过将具有MAP_SHARED标志集的mmap()与固定大小的结构与众所周知的文件名相关联,在Linux下运行的C程序中实现程序状态某些部分的持久性。出于性能原因,我不希望完全不调用msync(),并且没有其他程序将访问此文件。当我的程序终止并重新启动时,它将再次映射相同的文件并对其进行...
2024-01-10
更改Linux中现有进程的所有者
我想以特权用户身份启动tomcat(Web服务器),然后在启动后将其重新带给非特权用户。有没有办法以编程方式或通常在Linux中执行此操作?谢谢。回答:我知道kchuid这不 正是这一点,尽管它似乎抛弃了,它看起来并不像这将是很难调出最新的。就是说,我工作的托管公司确实允许(在共享托管软件...
2024-01-10
Linux-线程和进程调度优先级
如果我们在Linux上使用默认调度策略创建pthreads(pthread_create)或进程(fork),那么调度程序在调度进程和线程时会优先处理优先级相同的进程和线程吗?假设有一个进程P1有一个线程,有进程P2有2个线程T1 T2可以说只有一个核心..调度将是P1 T1 P1 T2 P1 T1 P1 T2要么P1 T1 T2 P1 T1 T2回答:Linux不再计划任何进...
2024-01-10
在Linux中使用C在后台启动进程
我想在这里做些奇怪的事情。我需要从一个守护进程启动一个logcat进程,该守护进程将在后台运行并打印到终端,而无需控制stdin。它是用于记录日志的,因此理想情况下logcat将打印日志消息,同时仍允许用户输入标准命令并从Shell初始化程序。这是到目前为止我拥有的守护程序的代码。该程序logcat启动...
2024-01-10
如何将当前正在运行的linux进程置于后台?
我有一个命令,该命令使用git从Linux Shell将文件上传到远程服务器,这将需要许多小时才能完成。如何将正在运行的程序放在后台?这样我仍然可以在Shell上工作并且该过程也可以完成?回答:使用CTRL + Z暂停该过程,然后使用命令bg在后台将其恢复。例如:sleep 60^Z #Suspend character shown after hitting CTRL+Z...
2024-01-10
linux / unix进程的峰值内存使用率
有没有可以运行命令行并报告峰值RAM使用总量的工具?我在想类似/ usr / bin / time的东西回答:这是一种单行代码,不需要任何外部脚本或实用程序,也不需要您通过Valgrind或time之类的另一个程序来启动该过程,因此您可以将其用于已运行的任何过程:grep VmPeak /proc/$PID/status(用$PID您感兴趣的过程的P...
2024-01-10
如何在Linux中获取当前进程名称?
如何在C中获取进程名称?同名,在中/proc/$pid/status。我不想解析该文件。有什么编程方式可以做到这一点?回答:它指向了,argv[0]或者您确实可以阅读/proc/self/status。或者,您可以使用getenv("_"),不确定由谁来设置它以及它的可靠性。...
2024-01-10
Linux中进程的堆栈大小是否有限制
stack进程的大小是否有限制Linux?它是否仅取决于RAM机器的性能?我想知道这一点,以限制对函数的递归调用的深度。谢谢。回答:堆栈通常受资源限制的限制。您可以使用ulimit -a以下命令查看安装的默认设置:stack size (kbytes, -s) 8192(这表明我的是8MB,这是巨大的)。如果删除或增加该限...
2024-01-10
Linux API列出正在运行的进程?
我需要一个C / C ++ API,该API允许我列出Linux系统上正在运行的进程,并列出每个进程已打开的文件。我 不 希望最终直接读取的/ proc /文件系统。有人能想到一种方法吗?回答:http://procps.sourceforge.net/http://procps.cvs.sourceforge.net/viewvc/procps/procps/proc/readproc.c?view=markup是ps和其他处理工具的来源。他们确实...
2024-01-10
如何在Linux中为特定程序设置进程ID
我想知道是否有某种方法可以在运行某个应用程序之前强制将某些特定进程ID运用于Linux。我需要提前知道进程ID。回答:实际上,有一种方法可以做到这一点。由于设置了CONFIG_CHECKPOINT_RESTORE的内核3.3(在大多数发行版中已设置),因此存在/ proc/ sys / kernel / ns_last_pid,其中包含内核生成的最后一个pid...
2024-01-10
Linux进程在后台-作业“停止”了吗?
我当前正在运行带有&标志的进程。$ example &但是,(请注意,我是Linux的新手)我意识到,在执行此命令后几乎一秒钟,我就收到一条消息,指出我的进程收到了停止的信号。如果我做$ jobs我将在示例过程中获得列表,并带有一个小注释“ Stopped”。它真的停止了并且在后台根本不工作吗?它是如何...
2024-01-10
Final Cut Pro X 如何查看后台任务处理进度教程
Final Cut Pro X 在导入媒体、转码、渲染、共享导出影片时,都会有个过程,如何查看后台任务进度呢?这里小编为大家带来了fcpx教程——查看后台任务处理进度教程,有需要的朋友一起来看看吧!查看后台任务处理进度教程 ...
2024-02-21
编写Linux内核模块时获取用户进程pid
如何获得触发了内核模块file_operation.read例程的用户进程的PID (即正在读取的进程/dev/mydev)?回答:当您的read函数正在执行时,它是在发出系统调用的进程的上下文中执行的。因此,您应该能够使用current,即current->pid。...
2024-01-10
在Linux中访问另一个进程虚拟内存(调试)
gdb如何在Linux上访问另一个进程虚拟内存?全部通过/ proc完成吗?回答:gdb如何在Linux上访问另一个进程虚拟内存?全部通过/ proc完成吗? :1)如字节数来读取比更少3 * sizeof(long)或文件系统/proc不可用或从读取/proc/PID/mem不成功则ptrace使用具有PTRACE_PEEKTEXT读取数据。这些是函数中的这些条件linux_proc...
2024-01-10
在Linux上对进程执行kill -9怎么可能没有效果?
我正在编写一个插件,以在您访问网站时自动突出显示文本字符串。就像高亮显示的搜索结果一样,但是自动且包含很多单词;它可以用于有过敏症的人,使单词真正脱颖而出,例如,当他们浏览美食网站时。但是我有问题。当我尝试关闭一个空的,新鲜的FF窗口时,它以某种方式阻碍了整个过程。当...
2024-01-10
如何找出Linux中哪些进程正在使用交换空间?
在Linux下,如何确定哪个进程在使用交换空间?回答:运行 顶部, 然后按O``p``Enter。现在,应按进程的交换使用情况对其进行排序。这是更新,因为我的原始答案并未提供评论中所指出问题的确切答案。从htop常见问题解答:无法获得进程已使用交换空间的确切大小。Top通过使SWAP = VIRT-RES来伪造此信...
2024-01-10
为什么JVM报告的已提交内存比linux进程驻留集大小更多?
在启用了本机内存跟踪的Java应用程序(在YARN中)运行时(-XX:NativeMemoryTracking=detail请参阅https://docs.oracle.com/javase/8/docs/technotes/guides/vm/nmt-8.html和https://docs。oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr007.html),我可以看到JVM在不同类别中使用了多少内存。我在jdk 1.8.0_4...
2024-01-10
如何在Linux中判断哪个进程向我的进程发送了信号
我有一个Java应用程序SIG TERM。我想知道发送此信号的进程的pid。那可能吗?回答:两种Linux专用方法是SA_SIGINFO和signalfd(),它们允许程序接收有关已发送信号的 非常详细的信息,包括发送方的PID。调用sigaction()并传递给它,struct sigaction其中包含所需的信号处理程序,sa_sigaction并且设置了SA_SIGINFO标志...
2024-01-10
Java-如何检查Linux上是否正在运行另一个(非Java)进程
我对此有一些奇怪的问题。我们正在使用Xvfb虚拟桌面管理器,并希望在继续之前确保其正在运行。使用纯外壳,我可以轻松地做到这一点: ps -ef | grep Xvfb | grep -v grep这正是我所需要的,只有一行包含有关Xvfbproc的信息。接下来,我要将其合并到我的Java程序中并解析结果并存储正在运行的Xvfb进程...
2024-01-10
给定其pid,检查进程是否存在
给定Linux进程的pid,我想从C程序检查该进程是否仍在运行。回答:发出信号作为kill(2)系统调用0。如果调用成功,则表示存在具有此pid的进程。如果调用失败并errno设置为ESRCH,则不存在具有此类pid的进程。引用POSIX标准:如果sig为0(空信号),则执行错误检查,但实际上未发送任何信号。空信号可...
2024-01-10
如何用C在Linux中通过PID计算进程的CPU使用率?
我想以编程方式[在C中]为Linux中给定进程ID计算CPU使用率%。如何获得给定进程的实时CPU使用率%?为了进一步说明:我应该能够确定所提供的processid或进程的CPU使用率。 该进程不必是子进程。 我想要“ C”语言的解决方案。回答:您需要从中解析出数据/proc/<PID>/stat。这些是前几个字段(来自Docu...
2024-01-10
