需要C++执行"ps -ef | grep amq | awk '{print $(NF-1)}' "命令
Need to execute "ps -ef | grep amq | awk '{print $(NF-1)}' " command in C++
我正在我的项目中编写一个 c++ 代码,它应该告诉我的 websphere mq 服务器是否正在运行。为了提取,我们需要运行"/opt/mqm/bin/amq status"来显示它是否正在运行。棘手的是MQHOME=/opt/mqm在Unix平台上不是恒定的。因此,我们同意设计从进程"amqzlaar0"(mq服务器进程(的绝对路径中提取MQHOME路径。因此,我们需要发出以下命令,显示进程"amqzlaar0"及其完整路径。然后,我们将字符串存储在数组中以提取 MQHOME。
"ps -ef | grep amqzlaar0 | awk '{print $(NF-1)}' "
system(( 函数失败,退出代码 -1 当我使用管道符号"|"时。但是,如果我只发布系统("ps -ef"(,它可以工作。
请帮助我如何使用系统执行管道分离命令。
非常感谢您的帮助。问候斯里拉姆
我认为您不应该运行命令来检查amqzlaar0
是否正在运行,而应该查询 proc(5( 文件系统 (在 Linux 上(。
请注意,/proc/
不是可移植的(例如,在 Posix 中没有标准化(。有些Unix没有它,Solaris和Linux的/proc/
文件系统非常不同。
如果真的想运行一个命令,使用 snprintf(3( 来构建命令(或std::string
或std::ostringstream
(,然后使用 popen(3( (和pclose
(来运行命令
阅读高级 Linux 编程以更好地了解 Linux 编程。另请参阅系统调用(2(
顺便说一句,有些人可能已经别名,例如 grep
(也许在他们的.bashrc
中(,所以你可能应该在你的命令中放置完整的路径(这样/bin/grep
就不会grep
等等......
只需运行ps -Ef
.你是一个C++程序员。 相当于grep
和awk
在C++中并不难,在C++中速度更快(不需要两个额外的过程(
- 犰狳的 print() 方法和 cout 在从 Rcpp 调用时顺序不一致
- 如何在不进行任何其他修改的情况下"pretty print" C++的XML字符串?
- pybind11将python sys.stdout从print()重定向到c++
- Serial.print in arduino 不写变量
- 如何递归"print list from tail to head"?
- 添加print语句可以将代码的速度提高一个数量级
- 这个结构是什么:"void dot::print(void){"?
- 将NDEF记录负载转换为EthernetClient print()的字符串
- 检查字符串中的第一个单词是否等于 "print"
- 为什么当我调用 print() 函数时我的字符串不会输出?
- 链接列表 insert() print();.
- Python "print"嵌入到 MPI 程序中时不起作用
- 请求以"y"表示的成员'print',这是非类类型
- 如何解决,在使用元编程的条件基类的情况下没有成员函数"print"
- 调试"print to file"打印驱动程序代码
- 在为 QScriptEngine 重新定义"print()"函数时返回"Undefined Value"有什么意义?
- 这个"print a heart"程序在 C 语言中是如何工作的?
- "print 1 to n"函数打印 1 两次
- 跟踪/系统调用"Print Screen"进程
- 需要C++执行"ps -ef | grep amq | awk '{print $(NF-1)}' "命令