Process.GetProcessesByName Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea una matriz de nuevos componentes Process y los asocia a los recursos de proceso existentes que comparten el nombre del proceso especificado.
Sobrecargas
GetProcessesByName(String, String) |
Crea una matriz de nuevos componentes Process y los asocia a todos los recursos de proceso de un equipo remoto que comparten el nombre del proceso especificado. |
GetProcessesByName(String) |
Crea una matriz de nuevos componentes Process y los asocia a todos los recursos de proceso del equipo local que comparten el nombre de proceso especificado. |
GetProcessesByName(String, String)
- Source:
- Process.Linux.cs
- Source:
- Process.Linux.cs
- Source:
- Process.Linux.cs
Crea una matriz de nuevos componentes Process y los asocia a todos los recursos de proceso de un equipo remoto que comparten el nombre del proceso especificado.
public:
static cli::array <System::Diagnostics::Process ^> ^ GetProcessesByName(System::String ^ processName, System::String ^ machineName);
public static System.Diagnostics.Process[] GetProcessesByName (string? processName, string machineName);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process[] GetProcessesByName (string? processName, string machineName);
public static System.Diagnostics.Process[] GetProcessesByName (string processName, string machineName);
static member GetProcessesByName : string * string -> System.Diagnostics.Process[]
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member GetProcessesByName : string * string -> System.Diagnostics.Process[]
Public Shared Function GetProcessesByName (processName As String, machineName As String) As Process()
Parámetros
- processName
- String
Nombre descriptivo del proceso.
- machineName
- String
Nombre de un equipo en la red.
Devoluciones
Matriz de tipo Process que representa los recursos del proceso que ejecutan la aplicación o el archivo especificado.
- Atributos
Excepciones
La sintaxis de parámetro machineName
no es válida. Puede tener longitud cero (0).
El parámetro machineName
es null
.
La plataforma del sistema operativo no admite esta operación en equipos remotos.
Se ha producido un error en el intento de conectarse a machineName
.
o bien
Hay problemas de acceso a las API del contador de rendimiento que se usan para obtener información del proceso. Esta excepción es específica de Windows NT, Windows 2000 y Windows XP.
Se ha producido un problema al obtener acceso a una API del sistema subyacente.
Ejemplos
En el ejemplo siguiente se recupera información del proceso actual, los procesos que se ejecutan en el equipo local, todas las instancias del Bloc de notas que se ejecutan en el equipo local y un proceso específico en el equipo local. A continuación, recupera información de los mismos procesos en un equipo remoto.
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;
int main()
{
// Get the current process.
Process^ currentProcess = Process::GetCurrentProcess();
// Get all processes running on the local computer.
array<Process^>^localAll = Process::GetProcesses();
// Get all instances of Notepad running on the local computer.
// This will return an empty array if notepad isn't running.
array<Process^>^localByName = Process::GetProcessesByName("notepad");
// Get a process on the local computer, using the process id.
// This will throw an exception if there is no such process.
Process^ localById = Process::GetProcessById(1234);
// Get processes running on a remote computer. Note that this
// and all the following calls will timeout and throw an exception
// if "myComputer" and 169.0.0.0 do not exist on your local network.
// Get all processes on a remote computer.
array<Process^>^remoteAll = Process::GetProcesses("myComputer");
// Get all instances of Notepad running on the specific computer, using machine name.
array<Process^>^remoteByName = Process::GetProcessesByName( "notepad", "myComputer" );
// Get all instances of Notepad running on the specific computer, using IP address.
array<Process^>^ipByName = Process::GetProcessesByName( "notepad", "169.0.0.0" );
// Get a process on a remote computer, using the process id and machine name.
Process^ remoteById = Process::GetProcessById( 2345, "myComputer" );
}
using System;
using System.Diagnostics;
using System.ComponentModel;
namespace MyProcessSample
{
class MyProcess
{
void BindToRunningProcesses()
{
// Get the current process.
Process currentProcess = Process.GetCurrentProcess();
// Get all processes running on the local computer.
Process[] localAll = Process.GetProcesses();
// Get all instances of Notepad running on the local computer.
// This will return an empty array if notepad isn't running.
Process[] localByName = Process.GetProcessesByName("notepad");
// Get a process on the local computer, using the process id.
// This will throw an exception if there is no such process.
Process localById = Process.GetProcessById(1234);
// Get processes running on a remote computer. Note that this
// and all the following calls will timeout and throw an exception
// if "myComputer" and 169.0.0.0 do not exist on your local network.
// Get all processes on a remote computer.
Process[] remoteAll = Process.GetProcesses("myComputer");
// Get all instances of Notepad running on the specific computer, using machine name.
Process[] remoteByName = Process.GetProcessesByName("notepad", "myComputer");
// Get all instances of Notepad running on the specific computer, using IP address.
Process[] ipByName = Process.GetProcessesByName("notepad", "169.0.0.0");
// Get a process on a remote computer, using the process id and machine name.
Process remoteById = Process.GetProcessById(2345, "myComputer");
}
static void Main()
{
MyProcess myProcess = new MyProcess();
myProcess.BindToRunningProcesses();
}
}
}
Imports System.Diagnostics
Imports System.ComponentModel
Namespace MyProcessSample
Class MyProcess
Sub BindToRunningProcesses()
' Get the current process. You can use currentProcess from this point
' to access various properties and call methods to control the process.
Dim currentProcess As Process = Process.GetCurrentProcess()
' Get all processes running on the local computer.
Dim localAll As Process() = Process.GetProcesses()
' Get all instances of Notepad running on the local computer.
' This will return an empty array if notepad isn't running.
Dim localByName As Process() = Process.GetProcessesByName("notepad")
' Get a process on the local computer, using the process id.
' This will throw an exception if there is no such process.
Dim localById As Process = Process.GetProcessById(1234)
' Get processes running on a remote computer. Note that this
' and all the following calls will timeout and throw an exception
' if "myComputer" and 169.0.0.0 do not exist on your local network.
' Get all processes on a remote computer.
Dim remoteAll As Process() = Process.GetProcesses("myComputer")
' Get all instances of Notepad running on the specific computer, using machine name.
Dim remoteByName As Process() = Process.GetProcessesByName("notepad", "myComputer")
' Get all instances of Notepad running on the specific computer, using IP address.
Dim ipByName As Process() = Process.GetProcessesByName("notepad", "169.0.0.0")
' Get a process on a remote computer, using the process id and machine name.
Dim remoteById As Process = Process.GetProcessById(2345, "myComputer")
End Sub
Shared Sub Main()
Dim myProcess As New MyProcess()
myProcess.BindToRunningProcesses()
End Sub
End Class
End Namespace 'MyProcessSample
Comentarios
Use este método para crear una matriz de nuevos Process componentes y asociarlos a todos los recursos de proceso que ejecutan el mismo archivo ejecutable en el equipo especificado. Los recursos de proceso ya deben existir en el equipo, ya que GetProcessesByName no crea recursos del sistema, sino que los asocia a los componentes generados por Process la aplicación. processName
Se puede especificar para un archivo ejecutable que no se está ejecutando actualmente en el equipo local, por lo que la matriz que devuelve el método puede estar vacía.
El nombre del proceso es un nombre descriptivo para el proceso, como Outlook, que no incluye la extensión .exe ni la ruta de acceso. GetProcessesByName resulta útil para obtener y manipular todos los procesos asociados al mismo archivo ejecutable. Por ejemplo, puede pasar un nombre de archivo ejecutable como processName
parámetro para apagar todas las instancias en ejecución de ese archivo ejecutable.
Aunque un proceso Id es único para un único recurso de proceso en el sistema, varios procesos del equipo local pueden ejecutar la aplicación especificada por el processName
parámetro . Por lo tanto, GetProcessById devuelve un proceso como máximo, pero GetProcessesByName devuelve una matriz que contiene todos los procesos asociados. Si necesita manipular el proceso mediante llamadas API estándar, puede consultar cada uno de estos procesos a su vez para su identificador. No se puede acceder solo a los recursos de proceso a través del nombre del proceso, pero, una vez que haya recuperado una matriz de Process componentes que se han asociado a los recursos del proceso, puede iniciar, finalizar y manipular los recursos del sistema.
Puede usar esta sobrecarga para obtener procesos en el equipo local, así como en un equipo remoto. Use "." para especificar el equipo local. Existe otra sobrecarga que usa el equipo local de forma predeterminada.
Puede acceder a los procesos en equipos remotos solo para ver información, como estadísticas, sobre los procesos. No se puede cerrar, finalizar (mediante Kill) ni iniciar procesos en equipos remotos.
Consulte también
Se aplica a
GetProcessesByName(String)
- Source:
- Process.cs
- Source:
- Process.cs
- Source:
- Process.cs
Crea una matriz de nuevos componentes Process y los asocia a todos los recursos de proceso del equipo local que comparten el nombre de proceso especificado.
public:
static cli::array <System::Diagnostics::Process ^> ^ GetProcessesByName(System::String ^ processName);
public static System.Diagnostics.Process[] GetProcessesByName (string? processName);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static System.Diagnostics.Process[] GetProcessesByName (string? processName);
public static System.Diagnostics.Process[] GetProcessesByName (string processName);
static member GetProcessesByName : string -> System.Diagnostics.Process[]
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member GetProcessesByName : string -> System.Diagnostics.Process[]
Public Shared Function GetProcessesByName (processName As String) As Process()
Parámetros
- processName
- String
Nombre descriptivo del proceso.
Devoluciones
Matriz de tipo Process que representa los recursos del proceso que ejecutan la aplicación o el archivo especificado.
- Atributos
Excepciones
Hay problemas de acceso a las API del contador de rendimiento que se usan para obtener información del proceso. Esta excepción es específica de Windows NT, Windows 2000 y Windows XP.
Ejemplos
En el ejemplo siguiente se recupera información del proceso actual, los procesos que se ejecutan en el equipo local, todas las instancias del Bloc de notas que se ejecutan en el equipo local y un proceso específico en el equipo local. A continuación, recupera información de los mismos procesos en un equipo remoto.
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;
int main()
{
// Get the current process.
Process^ currentProcess = Process::GetCurrentProcess();
// Get all processes running on the local computer.
array<Process^>^localAll = Process::GetProcesses();
// Get all instances of Notepad running on the local computer.
// This will return an empty array if notepad isn't running.
array<Process^>^localByName = Process::GetProcessesByName("notepad");
// Get a process on the local computer, using the process id.
// This will throw an exception if there is no such process.
Process^ localById = Process::GetProcessById(1234);
// Get processes running on a remote computer. Note that this
// and all the following calls will timeout and throw an exception
// if "myComputer" and 169.0.0.0 do not exist on your local network.
// Get all processes on a remote computer.
array<Process^>^remoteAll = Process::GetProcesses("myComputer");
// Get all instances of Notepad running on the specific computer, using machine name.
array<Process^>^remoteByName = Process::GetProcessesByName( "notepad", "myComputer" );
// Get all instances of Notepad running on the specific computer, using IP address.
array<Process^>^ipByName = Process::GetProcessesByName( "notepad", "169.0.0.0" );
// Get a process on a remote computer, using the process id and machine name.
Process^ remoteById = Process::GetProcessById( 2345, "myComputer" );
}
using System;
using System.Diagnostics;
using System.ComponentModel;
namespace MyProcessSample
{
class MyProcess
{
void BindToRunningProcesses()
{
// Get the current process.
Process currentProcess = Process.GetCurrentProcess();
// Get all processes running on the local computer.
Process[] localAll = Process.GetProcesses();
// Get all instances of Notepad running on the local computer.
// This will return an empty array if notepad isn't running.
Process[] localByName = Process.GetProcessesByName("notepad");
// Get a process on the local computer, using the process id.
// This will throw an exception if there is no such process.
Process localById = Process.GetProcessById(1234);
// Get processes running on a remote computer. Note that this
// and all the following calls will timeout and throw an exception
// if "myComputer" and 169.0.0.0 do not exist on your local network.
// Get all processes on a remote computer.
Process[] remoteAll = Process.GetProcesses("myComputer");
// Get all instances of Notepad running on the specific computer, using machine name.
Process[] remoteByName = Process.GetProcessesByName("notepad", "myComputer");
// Get all instances of Notepad running on the specific computer, using IP address.
Process[] ipByName = Process.GetProcessesByName("notepad", "169.0.0.0");
// Get a process on a remote computer, using the process id and machine name.
Process remoteById = Process.GetProcessById(2345, "myComputer");
}
static void Main()
{
MyProcess myProcess = new MyProcess();
myProcess.BindToRunningProcesses();
}
}
}
Imports System.Diagnostics
Imports System.ComponentModel
Namespace MyProcessSample
Class MyProcess
Sub BindToRunningProcesses()
' Get the current process. You can use currentProcess from this point
' to access various properties and call methods to control the process.
Dim currentProcess As Process = Process.GetCurrentProcess()
' Get all processes running on the local computer.
Dim localAll As Process() = Process.GetProcesses()
' Get all instances of Notepad running on the local computer.
' This will return an empty array if notepad isn't running.
Dim localByName As Process() = Process.GetProcessesByName("notepad")
' Get a process on the local computer, using the process id.
' This will throw an exception if there is no such process.
Dim localById As Process = Process.GetProcessById(1234)
' Get processes running on a remote computer. Note that this
' and all the following calls will timeout and throw an exception
' if "myComputer" and 169.0.0.0 do not exist on your local network.
' Get all processes on a remote computer.
Dim remoteAll As Process() = Process.GetProcesses("myComputer")
' Get all instances of Notepad running on the specific computer, using machine name.
Dim remoteByName As Process() = Process.GetProcessesByName("notepad", "myComputer")
' Get all instances of Notepad running on the specific computer, using IP address.
Dim ipByName As Process() = Process.GetProcessesByName("notepad", "169.0.0.0")
' Get a process on a remote computer, using the process id and machine name.
Dim remoteById As Process = Process.GetProcessById(2345, "myComputer")
End Sub
Shared Sub Main()
Dim myProcess As New MyProcess()
myProcess.BindToRunningProcesses()
End Sub
End Class
End Namespace 'MyProcessSample
Comentarios
Use este método para crear una matriz de nuevos Process componentes y asociarlos a todos los recursos de proceso que ejecutan el mismo archivo ejecutable en el equipo local. Los recursos de proceso ya deben existir en el equipo, ya que GetProcessesByName no crea recursos del sistema, sino que los asocia a los componentes generados por Process la aplicación. processName
Se puede especificar para un archivo ejecutable que no se está ejecutando actualmente en el equipo local, por lo que la matriz que devuelve el método puede estar vacía.
El nombre del proceso es un nombre descriptivo para el proceso, como Outlook, que no incluye la extensión .exe ni la ruta de acceso. GetProcessesByName resulta útil para obtener y manipular todos los procesos asociados al mismo archivo ejecutable. Por ejemplo, puede pasar un nombre de archivo ejecutable como processName
parámetro para apagar todas las instancias en ejecución de ese archivo ejecutable.
Aunque un proceso Id es único para un único recurso de proceso en el sistema, varios procesos del equipo local pueden ejecutar la aplicación especificada por el processName
parámetro . Por lo tanto, GetProcessById devuelve un proceso como máximo, pero GetProcessesByName devuelve una matriz que contiene todos los procesos asociados. Si necesita manipular el proceso mediante llamadas API estándar, puede consultar cada uno de estos procesos a su vez para su identificador. No se puede acceder solo a los recursos de proceso a través del nombre del proceso, pero, una vez que haya recuperado una matriz de Process componentes que se han asociado a los recursos del proceso, puede iniciar, finalizar y manipular los recursos del sistema.