begin process at 2012 05 29 08:13:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Fichier & Disque

 > 

Equivalent sous Lunix


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Equivalent sous Lunix

mercredi 16 mars 2011 à 21:24:35 | Equivalent sous Lunix

louizil

Bonsoir,
j'ai fait un code qui afiche tout les PID des processus et des threads sous widows,il marche bien.
moi je veut le marcher sous lunix,s'il veut plait est ce qu'il ya une methode pour le marcher sous lunix ou bien un equivalant entre les fonctions et marci, voila mon code:
#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>
#include<pthread.h>
int main()
{ int i;
pid_t getpid(void);
HANDLE pro;
HANDLE th;
PROCESSENTRY32 pe;
THREADENTRY32 te;
pro = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (Process32First(pro, &pe))
{
th = CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0);
te.dwSize = sizeof(THREADENTRY32 );
do{
printf( "\n\n====================================================" );
printf( "\n NOM DE PROCESSUS: %s", pe.szExeFile );
printf( "\n ====================================================" );
printf( "\n ID de processus = %d",pe.th32ProcessID);
printf( "\n Nombre de threads = %d",pe.cntThreads );
printf( "\n ID du processus parent = %d", pe.th32ParentProcessID);
if( Thread32First( th, &te ) )
{ i=0;
do {
printf( "\n ID du THREAD numero %d = %d",i,te.th32ThreadID);
i=i+1;
}
while( Thread32Next(th, &te ) );
CloseHandle(th);
}
}
while (Process32Next(pro,&pe));
CloseHandle(pro );
}
return 0;
}
mercredi 16 mars 2011 à 21:37:57 | Re : Equivalent sous Lunix

CptPingu

Administrateur CodeS-SourceS
Lunix, n'existe pas.
Linux ou UNIX peut être ?

Tous les processus sont dans le dossier /proc, il te suffit de les lister :)
Un post intéressant qui en parle:
http://ubuntuforums.org/showpost.php?s=165381dee727591295d80bab7cde4dcd&p=6593782&postcount=5

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
mercredi 16 mars 2011 à 21:44:54 | Re : Equivalent sous Lunix

louizil

oui oui c linux c juste un faute de frappe et merci pour votre reponse.
mercredi 16 mars 2011 à 21:48:54 | Re : Equivalent sous Lunix

louizil

je veut aussi afficher les pid des threads et merci pour votre aide
jeudi 17 mars 2011 à 23:36:06 | Re : Equivalent sous Lunix

louizil

Bonsoir,
j'ai fait un code qui afiche tout les PID des processus et des threads sous widows,il marche bien.
moi je veut le marcher sous lunix,s'il veut plait est ce qu'il ya une methode pour le marcher sous lunix ou bien un equivalant entre les fonctions et marci, voila mon code:
#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>
#include<pthread.h>
int main()
{ int i;
pid_t getpid(void);
HANDLE pro;
HANDLE th;
PROCESSENTRY32 pe;
THREADENTRY32 te;
pro = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (Process32First(pro, &pe))
{
th = CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0);
te.dwSize = sizeof(THREADENTRY32 );
do{
printf( "\n\n====================================================" );
printf( "\n NOM DE PROCESSUS: %s", pe.szExeFile );
printf( "\n ====================================================" );
printf( "\n ID de processus = %d",pe.th32ProcessID);
printf( "\n Nombre de threads = %d",pe.cntThreads );
printf( "\n ID du processus parent = %d", pe.th32ParentProcessID);
if( Thread32First( th, &te ) )
{ i=0;
do {
printf( "\n ID du THREAD numero %d = %d",i,te.th32ThreadID);
i=i+1;
}
while( Thread32Next(th, &te ) );
CloseHandle(th);
}
}
while (Process32Next(pro,&pe));
CloseHandle(pro );
}
return 0;
}
samedi 19 mars 2011 à 16:15:34 | Re : Equivalent sous Lunix

basssem81

je pense que tu cherche ceci
le programme suivant affiche tous les noms des processus avec leur pids.

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <dirent.h>
#include <unistd.h>
#include <fcntl.h>


inline char * stat_entry ( char *buf, const char *d_name )
{
bzero(buf,sizeof(buf));
return strcat(strcat(strcpy(buf,"/proc/"),d_name),"/stat");
}

main()
{
DIR *dir;
struct dirent *d;
pid_t pid, procpid = -1;
char tmp[100];

if ((dir = opendir("/proc")) == (DIR *)0) {
printf("cannot opendir(/proc)\n");
return -1;
}

while((d = readdir(dir)) != (struct dirent *)0) {
/* Only directories with pid as names */
if ((pid = (pid_t)atoi(d->d_name)) == 0) continue;
int fp;
if ((fp = open(stat_entry(tmp, d->d_name),O_RDONLY,0)) != -1) {
char entry[1024];
bzero(entry,1024);
read(fp,entry,1024);
close(fp);

char *start = &entry[0];
char *end = start;
while (*end!=' ') end++;
*end = 0;
procpid = (pid_t)atoi(start);
printf(" PID: %s ", start);
end++;
//if (*end!='(') // kernel ERROR
end++;
start = end;
while (*end!=' ') end++;
end--; //skip ')'
*end = 0;
printf(" NAME: %s\n",start);
procpid = -1;
}
}

closedir(dir);
return procpid;
}
samedi 19 mars 2011 à 23:45:28 | Re : Equivalent sous Lunix

louizil

Merci pour ton reponse
Moi je veut aficher tout les PID des threads sous LINUX.
quelqu'un peut m'aider et Merci.


Cette discussion est classée dans : printf, pro, pe, th, lunix


Répondre à ce message

Sujets en rapport avec ce message

PRO C [ par olivier ] QUELQU UN PEUT T IL M INDIQUER OU TROUVE UN TUTORIAL OU UN AIDE OU UN NEWSGROUP SUR LE PRO C Mathématique sur le discriminant? [ par jia2812 ] #include #include int a,b,c,discriminant;float X1,X2,X;void main(){printf("\t\t##########################\n");printf("\t\t## ##\n Bonjour, [ par Jarodx64 ] je voudrai comment faire pour faire entrer un nom(char) :Exemple avecprintf("Entrez un nombre);scanf("%d",&a);Moi je voudrai faireprintf("Entrez votre Sortie formatée avec printf: précision [ par GoldenEye ] J'ai besoin d'afficher avec printf un double avec une précision dynamique.Par exemple, l'user rentre une précision epsilon( 0.01 par ex ) et je veux l Reprendre la main sur une erreur de SCANF [ par gollum ] voila : mon monceau de codec='n';printf("Entrer le coeff %d du terme %d \n",i,i);result = scanf("%f",&coef); while (result==0 && c=='n'){ printf("f Debutant : ecrire et lire un fichier txt [ par manu ] Bonjour a tous.Je debute, aussi desole.... :)Je cherche donc a ecrire dans un fichier txt, puis a lire ce fichier ligne a ligne, faire un split / expl Probleme de reception dans un serveur visual C++ pour windows [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi.voici les source du client et du serveurLe Serveur Probleme reception sur un serveur windows en vc++ [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi, toute mes socket sont positives le client envois aide sur printf [ par superromu ] que fait cette commande ?elle affiche right si 1 ou 0 ?printf("\r\nHandedness: %9s\r\n",data[word_no] & 0x000400 ? "Right" : "Left");merci. Enregistrer en HEXA un texte avec gcc !! [ par UncleShu ] /* * Ce programme affiche le fichier en HEXADECIMAL et se copie lui-même avec * une autre exetenstion (.txt). Moi je voudrais qui affiche le fichier *


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales