【发布时间】:2020-01-03 20:48:35
【问题描述】:
基本上我想当我的程序启动时执行一些类似于
set IPCS_S = ipcs -s | egrep "0x[0-9a-f]+ [0-9]+" | grep $USERNAME | cut -f2 -d" "
for id in $IPCS_S; do
ipcrm -s $id;
done
我希望这样可以确保我不会打开剩余的信号量(异常终止后保持打开的信号量)。
有没有办法用原生 C++ 代码做到这一点?还是我最好的选择是调用外部 shell 脚本?
【问题讨论】:
-
您的问题是什么?您发布的代码有问题吗?
-
@Kenster 抱歉,我用一个实际问题更新了我的问题
-
你可以在 C++ 中做同样的事情,但不会那么简洁
-
@Cameron 你能详细说明一下吗?
-
任何可以用 shell 完成的事情都可以通过
system()调用来完成。不过,可能不是最好的解决方案。这是一种难以避免适得其反的又大又胖的枪……