小编Gre*_*ell的帖子

Linux C++:从main()返回是否导致多线程应用程序终止?

这个问题似乎可能是重复的,但我找不到一个.如果我错过了上一个问题,请道歉.

在我有大部分经验的Java中,如果你的main()分叉一个线程并立即返回进程继续运行,直到进程中的所有(非守护进程)线程都停止.

在C++中,情况似乎并非如此 - 只要主线程返回进程,其他线程仍在运行时终止.对于我当前的应用程序,这很容易通过应用程序解决,pthread_join()但我想知道是什么原因导致这种行为.这个编译器(gcc)是特定的,pthreads是特定的,还是在已经实现了C++的大多数/所有平台上共享的行为?这种行为是否可以在pthreads中配置(我在pthread_attr_*()函数中查看了pthread api,并没有看到任何看起来相关的东西.)?

完全分开的问题,但是当你在这里时......一个人会用pthread_detatch()什么?

c++ linux multithreading pthreads process

10
推荐指数
2
解决办法
3490
查看次数

使用[[]]和-eq时出错

Shell脚本代码段:

tagSearch= $(grep '^\#ctags$' ./"$1" | wc -l)
if [[ $tagSearch -ne "0" ]]
then
    ...
fi
Run Code Online (Sandbox Code Playgroud)

结果是:

line 2: /bb/bin/1: Permission denied

语境:

我正在尝试检测文件中是否存在特定模式,以便我可以采取特定操作.

我理解我得到的错误,检测工作正常,但脚本正在尝试评估结果'1'并在我的路径中运行程序'1'.这不是我想要的.我如何得到我正在寻找的行为?

bash

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

标签 统计

bash ×1

c++ ×1

linux ×1

multithreading ×1

process ×1

pthreads ×1