#include <QCoreApplication>
#include <unistd.h>
#include <QDebug>
#include <QFile>
#include <QRegExp>
QString getNameByPid(pid_t pid)
{
QString name;
QFile file(QString("/proc/%1/status").arg(pid));
if(file.open(QFile::ReadOnly)){
name = QString(file.readLine()).section(QRegExp("([\\t ]*:[\\t ]*|\\n)"),1,1);
file.close();
}
return name;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
pid_t pid = getpid();
qDebug() << "pid of this process:" << pid;
qDebug() << "getNameByPid:" << getNameByPid(pid);
return a.exec();
}
#include <unistd.h>
#include <QDebug>
#include <QFile>
#include <QRegExp>
QString getNameByPid(pid_t pid)
{
QString name;
QFile file(QString("/proc/%1/status").arg(pid));
if(file.open(QFile::ReadOnly)){
name = QString(file.readLine()).section(QRegExp("([\\t ]*:[\\t ]*|\\n)"),1,1);
file.close();
}
return name;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
pid_t pid = getpid();
qDebug() << "pid of this process:" << pid;
qDebug() << "getNameByPid:" << getNameByPid(pid);
return a.exec();
}
执行结果:
pid of this process: 5072
getNameByPid: "untitled"