Qt笔记-QProcess带管道符号运行及获取进程启动时间(Linux)
生活随笔
收集整理的這篇文章主要介紹了
Qt笔记-QProcess带管道符号运行及获取进程启动时间(Linux)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這里不能用直接寫到QProcess中start中的command參數(shù)。
比如這樣的shell:
ps -eo pid,lstart | grep 1808采用這樣的方式:
QProcess p; p.start("sh", QStringList() << "-c" << "ps -eo pid,lstart | grep 1808"); p.waitForFinished();這樣也是可以的:
QString cmd = "ps -ef | awk '{print $2,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17}'"; QProcess p; p.start("bash", QStringList() << "-c" << cmd);即可獲取。但看下這條命令:
這個(gè)時(shí)間的輸出對(duì)中國(guó)人來說很不友好,在此改變下。
date -d "`ps -eo lstart,pid,cmd | grep 1808 | grep -v grep | awk '{print $1,$2,$3,$4,$5}'`" "+%Y-%m-%d:%H:%M:%S"?linux輸出如下:
?需要的就是這個(gè),在QProcess中這么放就可以了。
#include <QCoreApplication> #include <QProcess> #include <QDebug> #include <QDateTime>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);QProcess p;p.start("sh", QStringList() << "-c" << "date -d \"`ps -eo lstart,pid,cmd |grep 1808|grep -v grep|awk '{print $1,$2,$3,$4,$5}'`\" \"+%Y-%m-%d %H:%M:%S\"");p.waitForFinished();QString read = p.readAll().trimmed();qDebug() << read;return a.exec(); }運(yùn)行截圖:
總結(jié)
以上是生活随笔為你收集整理的Qt笔记-QProcess带管道符号运行及获取进程启动时间(Linux)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web前端笔记-2D图形平面内平移定位(
- 下一篇: Python笔记-字符串转json