相关疑难解决方法(0)

如何在Linux中命名一个线程?

我有一个用C/C++编写的多线程Linux应用程序.我为我的线程选择了名字.为了帮助调试,我希望这些名称在GDB,"top"等中可见.这是可能的,如果是这样,如何?

(有很多理由知道线程名称.现在我想知道哪个线程占用了50%的CPU(由'top'报告).而且在调试时我经常需要切换到不同的线程 - 目前我必须做" thread apply all bt"然后查看回溯输出页面以找到正确的线程).

视窗解决方案就在这里 ; 什么是Linux?

c c++ linux multithreading

39
推荐指数
2
解决办法
3万
查看次数

如何替换std :: env:args()中的条目?

我想为Rust程序中的线程提供单独的名称.这些名称应该出现在top/中htop我可以区分线程的工作.在Ruby中我会修改argv[0]条目,或者也许Process.setproctitle("foo").我的灵感来自Ruby的Unicorn网络服务器.

env::args函数返回一个Args值.该Args值包装特定于平台的std::sys::args::args()函数,该函数不会重新导出以供一般使用.ArgsOs没有可用的mutator(所以是的,stdlib明确表示它是不可变的).

我如何以其他方式改变参数?我很满意只有Linux的解决方案,因为这是真正的工作将要发生的地方.stdlib外的解决方案也很好.

我应该采取什么样的路径来修改流程环境中的第一个参数?

std command-line-arguments rust

3
推荐指数
1
解决办法
326
查看次数

标签 统计

c ×1

c++ ×1

command-line-arguments ×1

linux ×1

multithreading ×1

rust ×1

std ×1