• Publicidad

PID en Windows ($$)

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Notapor kidd » 2006-08-30 15:56 @706

Hola:

Aquí está el resultado:

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
0 => HASH(0x1bf9fb4)
4 => HASH(0x1bf9bdc)
652 => HASH(0x1c01434)
720 => HASH(0x1bf9f18)
756 => HASH(0x1c015b4)
800 => HASH(0x1bfa164)
820 => HASH(0x1bfa068)
976 => HASH(0x1bf9be8)
1028 => HASH(0x1bfa4d0)
1136 => HASH(0x1bf9ed0)
1188 => HASH(0x1bf9ffc)
1260 => HASH(0x1bf9fcc)
1504 => HASH(0x1b60454)
1748 => HASH(0x1bfa320)
1868 => HASH(0x1b60400)
1880 => HASH(0x1bf9f60)
1908 => HASH(0x1bf98f4)
1920 => HASH(0x1bfa278)
1988 => HASH(0x1bf9ae0)
2016 => HASH(0x1bf9924)
176 => HASH(0x1bf9948)
272 => HASH(0x1bf9828)
292 => HASH(0x1b60418)
324 => HASH(0x1b606ac)
2060 => HASH(0x1b60748)
2552 => HASH(0x1b6073c)
3344 => HASH(0x1bfa218)
3480 => HASH(0x1b6064c)
580 => HASH(0x1bfa128)
2164 => HASH(0x1c01464)
2440 => HASH(0x1bfa20c)
932 => HASH(0x1b604e4)
2476 => HASH(0x1b60634)
Coloreado en 0.007 segundos, usando GeSHi 1.0.8.4



Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Publicidad

Notapor kidd » 2006-08-30 16:04 @711

Hola:

Ya ví donde está el problema. Al correr el siguiente código:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -w

use diagnostics;

use Data::Dumper;

if($^O eq "MSWin32"){
    use Win32::Process::Info;
    my $proc = Win32::Process::Info->new();
    my @pids = $proc->ListPids();

    foreach my $pid (@pids){
      my $inf = $proc->GetProcInfo($pid);

      print Dumper($inf);

    }

  }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4



Obtengo el siguiente resultado (solamente te pongo los primeros tres procesos):

Código: Seleccionar todo
$VAR1 = [
          {
            'TerminationDate' => undef,
            'QuotaNonPagedPoolUsage' => 0,
            'ParentProcessId' => 0,
            'Status' => undef,
            'OSName' => 'Microsoft Windows XP Professional|C:\\WINDOWS|\\Device\\Harddisk0\\Partition1',
            'CSName' => 'PETRITA',
            'PeakPageFileUsage' => 0,
            'PageFileUsage' => 0,
            'QuotaPeakNonPagedPoolUsage' => 0,
            'WorkingSetSize' => '16384',
            'CreationDate' => undef,
            'HandleCount' => 0,
            'WindowsVersion' => '5.1.2600',
            'PeakWorkingSetSize' => 0,
            'MaximumWorkingSetSize' => undef,
            'PeakVirtualSize' => '0',
            'WriteOperationCount' => '0',
            'SessionId' => 0,
            'PrivatePageCount' => '0',
            'ProcessId' => 0,
            'Caption' => 'System Idle Process',
            'CommandLine' => undef,
            'OSCreationClassName' => 'Win32_OperatingSystem',
            'Priority' => 0,
            'MinimumWorkingSetSize' => undef,
            'CreationClassName' => 'Win32_Process',
            'ThreadCount' => 1,
            'KernelModeTime' => '6985.2242592',
            'ExecutionState' => undef,
            'CSCreationClassName' => 'Win32_ComputerSystem',
            'InstallDate' => undef,
            'WriteTransferCount' => '0',
            'OtherTransferCount' => '0',
            'PageFaults' => 0,
            'VirtualSize' => '0',
            'QuotaPagedPoolUsage' => 0,
            'ReadTransferCount' => '0',
            'OtherOperationCount' => '0',
            'ReadOperationCount' => '0',
            'QuotaPeakPagedPoolUsage' => 0,
            'ExecutablePath' => undef,
            'UserModeTime' => '0',
            'Name' => 'System Idle Process',
            'Description' => 'System Idle Process',
            'Handle' => '0'
          }
        ];
$VAR1 = [
          {
            'TerminationDate' => undef,
            'QuotaNonPagedPoolUsage' => 0,
            'ParentProcessId' => 0,
            'Status' => undef,
            'OSName' => 'Microsoft Windows XP Professional|C:\\WINDOWS|\\Device\\Harddisk0\\Partition1',
            'CSName' => 'PETRITA',
            'PeakPageFileUsage' => 0,
            'PageFileUsage' => 0,
            'QuotaPeakNonPagedPoolUsage' => 0,
            'WorkingSetSize' => '57344',
            'CreationDate' => undef,
            'HandleCount' => 293,
            'WindowsVersion' => '5.1.2600',
            'PeakWorkingSetSize' => 4161536,
            'MaximumWorkingSetSize' => 1413120,
            'PeakVirtualSize' => '32620544',
            'WriteOperationCount' => '1663',
            'SessionId' => 0,
            'PrivatePageCount' => '28672',
            'ProcessId' => 4,
            'Caption' => 'System',
            'CommandLine' => undef,
            'OSCreationClassName' => 'Win32_OperatingSystem',
            'Priority' => 8,
            'MinimumWorkingSetSize' => 0,
            'CreationClassName' => 'Win32_Process',
            'ThreadCount' => 74,
            'KernelModeTime' => '30.7842656',
            'ExecutionState' => undef,
            'CSCreationClassName' => 'Win32_ComputerSystem',
            'InstallDate' => undef,
            'WriteTransferCount' => '8228134',
            'OtherTransferCount' => '1137136',
            'PageFaults' => 8659,
            'VirtualSize' => '1945600',
            'QuotaPagedPoolUsage' => 0,
            'ReadTransferCount' => '11143696',
            'OtherOperationCount' => '12172',
            'ReadOperationCount' => '310',
            'QuotaPeakPagedPoolUsage' => 0,
            'ExecutablePath' => undef,
            'UserModeTime' => '0',
            'Name' => 'System',
            'Description' => 'System',
            'Handle' => '4'
          }
        ];
$VAR1 = [
          {
            'TerminationDate' => undef,
            'QuotaNonPagedPoolUsage' => 640,
            'ParentProcessId' => 4,
            'Status' => undef,
            'OSName' => 'Microsoft Windows XP Professional|C:\\WINDOWS|\\Device\\Harddisk0\\Partition1',
            'CSName' => 'PETRITA',
            'PeakPageFileUsage' => 1679360,
            'PageFileUsage' => 172032,
            'QuotaPeakNonPagedPoolUsage' => 1240,
            'WorkingSetSize' => '98304',
            'CreationDate' => 1156968300,
            'HandleCount' => 21,
            'WindowsVersion' => '5.1.2600',
            'PeakWorkingSetSize' => 475136,
            'MaximumWorkingSetSize' => 1413120,
            'PeakVirtualSize' => '406568960',
            'WriteOperationCount' => '4',
            'SessionId' => 0,
            'PrivatePageCount' => '172032',
            'Owner' => 'NT AUTHORITY\\SYSTEM',
            'ProcessId' => 652,
            'Caption' => 'smss.exe',
            'CommandLine' => '\\SystemRoot\\System32\\smss.exe',
            'OSCreationClassName' => 'Win32_OperatingSystem',
            'Priority' => 11,
            'MinimumWorkingSetSize' => 204800,
            'CreationClassName' => 'Win32_Process',
            'ThreadCount' => 3,
            'KernelModeTime' => '1.1416416',
            'ExecutionState' => undef,
            'CSCreationClassName' => 'Win32_ComputerSystem',
            'InstallDate' => undef,
            'WriteTransferCount' => '4',
            'OtherTransferCount' => '910',
            'PageFaults' => 493,
            'VirtualSize' => '3915776',
            'QuotaPagedPoolUsage' => 5272,
            'OwnerSid' => 'S-1-5-18',
            'ReadTransferCount' => '4122',
            'OtherOperationCount' => '189',
            'ReadOperationCount' => '9',
            'QuotaPeakPagedPoolUsage' => 398312,
            'ExecutablePath' => 'C:\\WINDOWS\\System32\\smss.exe',
            'UserModeTime' => '0.0100144',
            'Name' => 'smss.exe',
            'Description' => 'smss.exe',
            'Handle' => '652'
          }
        ];



Me parece que este es el resultado que estás buscando.

Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor creating021 » 2006-08-30 17:43 @780

:D Claro, eso era, ahora te mando el tutorial en cuanto el código quede bien.
Gracias por la ayuda y verás que el tutorial al fín es algo útil, te enseña a hacer un ps -xa :wink:
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor creating021 » 2006-09-18 19:39 @861

:oops: Que pena, tanto tiempo y no lo he terminado, lo que pasa es que como se hace una lista tan grande tengo que hacer una interface gráfica que ande en Windows y UNIX, para eso estoy usando ANSI Scape, y esta quedando muy bien, aunque tengo el problema de que sí estás en UNIX y eres usuario no puedes leer links, por ende no se puede saber el nombre del programa (se sabe el PID y que root lo ejecutó, pero nada más) y se le pone un texto en rojo para verlo más fácil.
Falta poco pero segúro que estra bueno, te lo mando en PDF cuando esté listo.
Una imagen, un poco fea porque la manipulan para que pese menos, Ahí se ve todo desde usuario (todo lo de root), el ¡ es quitado despues y si el usuario lo pide tira informacion (tendrá un prompt, modo de comando) y poco a poco va resultando.
Un saludo (al menos)
:)

Click aquí para ver imagen
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Anterior

Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados