author | mickeyl <mickeyl> | 2004-01-13 19:51:42 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-01-13 19:51:42 (UTC) |
commit | e117e8427cd8bcd0ab1a74abdc5cd4ab12654194 (patch) (unidiff) | |
tree | f013f4f92cceefd20fb519f7e9a4d23f00fadac5 /libopie2/opiecore/oprocess.cpp | |
parent | 81b48fa5be4806e3afa64a0d1fa254fbdf9b7315 (diff) | |
download | opie-e117e8427cd8bcd0ab1a74abdc5cd4ab12654194.zip opie-e117e8427cd8bcd0ab1a74abdc5cd4ab12654194.tar.gz opie-e117e8427cd8bcd0ab1a74abdc5cd4ab12654194.tar.bz2 |
- add the static method int OProcess::processPID(const QString&)
- add an example program for dealing with OProcess. This should be enhanced...
Diffstat (limited to 'libopie2/opiecore/oprocess.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | libopie2/opiecore/oprocess.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/libopie2/opiecore/oprocess.cpp b/libopie2/opiecore/oprocess.cpp index f1a5f3b..5cfcf32 100644 --- a/libopie2/opiecore/oprocess.cpp +++ b/libopie2/opiecore/oprocess.cpp | |||
@@ -38,2 +38,3 @@ _;:, .> :=|. This program is free software; you can | |||
38 | #include <qapplication.h> | 38 | #include <qapplication.h> |
39 | #include <qdir.h> | ||
39 | #include <qfile.h> | 40 | #include <qfile.h> |
@@ -42,2 +43,3 @@ _;:, .> :=|. This program is free software; you can | |||
42 | #include <qsocketnotifier.h> | 43 | #include <qsocketnotifier.h> |
44 | #include <qtextstream.h> | ||
43 | 45 | ||
@@ -915 +917,29 @@ bool OProcess::isExecutable( const QCString &filename ) | |||
915 | 917 | ||
918 | int OProcess::processPID( const QString& process ) | ||
919 | { | ||
920 | QString line; | ||
921 | QDir d = QDir( "/proc" ); | ||
922 | QStringList dirs = d.entryList( QDir::Dirs ); | ||
923 | QStringList::Iterator it; | ||
924 | for ( it = dirs.begin(); it != dirs.end(); ++it ) | ||
925 | { | ||
926 | //qDebug( "next entry: %s", (const char*) *it ); | ||
927 | QFile file( "/proc/"+*it+"/cmdline" ); | ||
928 | file.open( IO_ReadOnly ); | ||
929 | if ( !file.isOpen() ) continue; | ||
930 | QTextStream t( &file ); | ||
931 | line = t.readLine(); | ||
932 | //qDebug( "cmdline = %s", (const char*) line ); | ||
933 | if ( line.contains( process ) ) break; //FIXME: That may find also other process, if the name is not long enough ;) | ||
934 | } | ||
935 | if ( line.contains( process ) ) | ||
936 | { | ||
937 | //qDebug( "found process id #%d", (*it).toInt() ); | ||
938 | return (*it).toInt(); | ||
939 | } | ||
940 | else | ||
941 | { | ||
942 | //qDebug( "process '%s' not found", (const char*) process ); | ||
943 | return -1; | ||
944 | } | ||
945 | } | ||