220 references to Interop
System.Diagnostics.Process (220)
_generated\0\LibraryImports.g.cs (42)
7
internal static extern partial global::
Interop
.Error ConvertErrorPlatformToPal(int platformErrno);
15
internal static extern partial int ConvertErrorPalToPlatform(global::
Interop
.Error error);
31
internal static unsafe extern partial global::
Interop
.Error Poll(global::
Interop
.PollEvent* pollEvents, uint eventCount, int timeout, uint* triggered);
382
internal static partial long SysConf(global::
Interop
.Sys.SysConfName name)
396
static extern unsafe long __PInvoke(global::
Interop
.Sys.SysConfName __name_native);
489
internal static unsafe partial int GetPwUidR(uint uid, out global::
Interop
.Sys.Passwd pwd, byte* buf, int bufLen)
494
fixed (global::
Interop
.Sys.Passwd* __pwd_native = &pwd)
502
static extern unsafe int __PInvoke(uint __uid_native, global::
Interop
.Sys.Passwd* __pwd_native, byte* __buf_native, int __bufLen_native);
511
internal static unsafe partial int GetPwNamR(string name, out global::
Interop
.Sys.Passwd pwd, byte* buf, int bufLen)
523
fixed (global::
Interop
.Sys.Passwd* __pwd_native = &pwd)
539
static extern unsafe int __PInvoke(byte* __name_native, global::
Interop
.Sys.Passwd* __pwd_native, byte* __buf_native, int __bufLen_native);
548
private static partial int GetPriority(global::
Interop
.Sys.PriorityWhich which, int who)
562
static extern unsafe int __PInvoke(global::
Interop
.Sys.PriorityWhich __which_native, int __who_native);
571
internal static partial int SetPriority(global::
Interop
.Sys.PriorityWhich which, int who, int nice)
585
static extern unsafe int __PInvoke(global::
Interop
.Sys.PriorityWhich __which_native, int __who_native, int __nice_native);
818
internal static partial int GetRLimit(global::
Interop
.Sys.RlimitResources resourceType, out global::
Interop
.Sys.RLimit limits)
824
fixed (global::
Interop
.Sys.RLimit* __limits_native = &limits)
835
static extern unsafe int __PInvoke(global::
Interop
.Sys.RlimitResources __resourceType_native, global::
Interop
.Sys.RLimit* __limits_native);
844
internal static partial int SetRLimit(global::
Interop
.Sys.RlimitResources resourceType, ref global::
Interop
.Sys.RLimit limits)
849
fixed (global::
Interop
.Sys.RLimit* __limits_native = &limits)
860
static extern unsafe int __PInvoke(global::
Interop
.Sys.RlimitResources __resourceType_native, global::
Interop
.Sys.RLimit* __limits_native);
869
private static partial int PathConf(string path, global::
Interop
.Sys.PathConfName name)
898
static extern unsafe int __PInvoke(byte* __path_native, global::
Interop
.Sys.PathConfName __name_native);
958
internal static partial int Access(string path, global::
Interop
.Sys.AccessMode mode)
987
static extern unsafe int __PInvoke(byte* __path_native, global::
Interop
.Sys.AccessMode __mode_native);
996
internal static partial int FStat(global::System.Runtime.InteropServices.SafeHandle fd, out global::
Interop
.Sys.FileStatus output)
1009
fixed (global::
Interop
.Sys.FileStatus* __output_native = &output)
1028
static extern unsafe int __PInvoke(nint __fd_native, global::
Interop
.Sys.FileStatus* __output_native);
1037
internal static partial int Stat(string path, out global::
Interop
.Sys.FileStatus output)
1050
fixed (global::
Interop
.Sys.FileStatus* __output_native = &output)
1069
static extern unsafe int __PInvoke(byte* __path_native, global::
Interop
.Sys.FileStatus* __output_native);
1078
internal static partial int LStat(string path, out global::
Interop
.Sys.FileStatus output)
1091
fixed (global::
Interop
.Sys.FileStatus* __output_native = &output)
1110
static extern unsafe int __PInvoke(byte* __path_native, global::
Interop
.Sys.FileStatus* __output_native);
1260
internal static partial int GetSpaceInfoForMountPoint(string name, out global::
Interop
.Sys.MountPointInformation mpi)
1273
fixed (global::
Interop
.Sys.MountPointInformation* __mpi_native = &mpi)
1292
static extern unsafe int __PInvoke(byte* __name_native, global::
Interop
.Sys.MountPointInformation* __mpi_native);
Microsoft\Win32\SafeHandles\SafeProcessHandle.Unix.cs (18)
81
int result =
Interop
.Sys.Kill(processId, 0);
85
Interop
.ErrorInfo errorInfo =
Interop
.Sys.GetLastErrorInfo();
87
if (errorInfo.Error ==
Interop
.Error.EPERM)
92
if (errorInfo.Error ==
Interop
.Error.ESRCH || errorInfo.Error ==
Interop
.Error.EINVAL)
116
int signalNumber =
Interop
.Sys.GetPlatformSignalNumber(signal);
122
int killResult =
Interop
.Sys.Kill(ProcessId, signalNumber);
125
Interop
.ErrorInfo errorInfo =
Interop
.Sys.GetLastErrorInfo();
128
if (errorInfo.Error ==
Interop
.Error.ESRCH)
273
throw new Win32Exception(
Interop
.Errors.ERROR_NO_ASSOCIATION);
335
Interop
.ErrorInfo error =
Interop
.Error.ENOENT.Info();
356
errno =
Interop
.Sys.ForkAndExecProcess(
391
new
Interop
.ErrorInfo(errno).Error ==
Interop
.Error.ENOEXEC)
396
throw ProcessUtils.CreateExceptionForErrorStartingProcess(new
Interop
.ErrorInfo(errno).GetErrorMessage(), errno, resolvedFilename, cwd);
src\runtime\src\libraries\Common\src\Interop\Linux\cgroups\Interop.cgroups.cs (6)
210
Interop
.Error error =
Interop
.procfs.GetFileSystemTypeForRealPath(SysFsCgroupFileSystemPath, out string format);
211
if (error ==
Interop
.Error.SUCCESS)
302
return TryFindHierarchyMount(cgroupVersion,
Interop
.procfs.ProcMountInfoFilePath, subsystem, out root, out path);
323
if (
Interop
.procfs.TryParseMountInfoLine(line, out
Interop
.procfs.ParsedMount mount))
src\runtime\src\libraries\Common\src\Interop\Unix\Interop.Errors.cs (6)
124
_error =
Interop
.Sys.ConvertErrorPlatformToPal(errno);
141
get { return _rawErrno == -1 ? (_rawErrno =
Interop
.Sys.ConvertErrorPalToPlatform(_error)) : _rawErrno; }
146
return
Interop
.Sys.StrError(RawErrno);
220
public static
Interop
.ErrorInfo Info(this
Interop
.Error error)
222
return new
Interop
.ErrorInfo(error);
src\runtime\src\libraries\Common\src\Interop\Unix\System.Native\Interop.GetGroupList.cs (1)
26
rv =
Interop
.Sys.GetGroupList(userName, primaryGroupId, pGroups, &ngroups);
src\runtime\src\libraries\Common\src\Interop\Unix\System.Native\Interop.GetPwUid.cs (5)
37
const int BufLen =
Interop
.Sys.Passwd.InitialBufferSize;
64
Interop
.Sys.Passwd passwd;
65
int error =
Interop
.Sys.GetPwUidR(uid, out passwd, buf, bufLen);
83
var errorInfo = new
Interop
.ErrorInfo(error);
87
if (errorInfo.Error ==
Interop
.Error.ERANGE)
src\runtime\src\libraries\Common\src\Interop\Unix\System.Native\Interop.IsMemberOfGroup.cs (3)
30
rv =
Interop
.Sys.GetGroups(groups.Length, pGroups);
38
else if (rv == -1 &&
Interop
.Sys.GetLastError() ==
Interop
.Error.EINVAL)
System\Diagnostics\Process.Linux.cs (16)
56
bootTimeTicks =
Interop
.Sys.GetBootTimeTicks();
103
Interop
.procfs.ParsedStat stat = GetStat();
129
if (!ProcessManager.TryGetProcPid(_processId, out
Interop
.procfs.ProcPid procPid))
133
string path =
Interop
.procfs.GetFileDescriptorDirectoryPathForProcess(procPid);
157
if (
Interop
.Sys.SchedGetAffinity(_processId, out set) != 0)
168
if (
Interop
.Sys.SchedSetAffinity(_processId, ref value) != 0)
185
if (!
Interop
.cgroups.TryGetMemoryLimit(out ulong rsslim))
225
internal static string? GetExePath(
Interop
.procfs.ProcPid procPid)
227
return procPid ==
Interop
.procfs.ProcPid.Self ? Environment.ProcessPath :
228
Interop
.Sys.ReadLink(
Interop
.procfs.GetExeFilePathForProcess(procPid));
234
internal static unsafe string GetUntruncatedProcessName(
Interop
.procfs.ProcPid procPid, ref
Interop
.procfs.ParsedStat stat)
236
string cmdLineFilePath =
Interop
.procfs.GetCmdLinePathForProcess(procPid);
333
private
Interop
.procfs.ParsedStat GetStat()
336
Interop
.procfs.ParsedStat stat;
System\Diagnostics\Process.Multiplexing.Unix.cs (26)
45
if (
Interop
.Sys.Fcntl.DangerousSetIsNonBlocking(outputFd, 1) != 0
46
||
Interop
.Sys.Fcntl.DangerousSetIsNonBlocking(errorFd, 1) != 0)
52
Interop
.PollEvent[] pollFds = new
Interop
.PollEvent[2];
73
if (pollFds[i].TriggeredEvents ==
Interop
.PollEvents.POLLNONE)
132
Span<
Interop
.PollEvent> pollFds,
145
pollFds[numFds].Events =
Interop
.PollEvents.POLLIN;
146
pollFds[numFds].TriggeredEvents =
Interop
.PollEvents.POLLNONE;
154
pollFds[numFds].Events =
Interop
.PollEvents.POLLIN;
155
pollFds[numFds].TriggeredEvents =
Interop
.PollEvents.POLLNONE;
168
Span<
Interop
.PollEvent> pollFds,
182
Interop
.Error pollError;
185
fixed (
Interop
.PollEvent* pPollFds = pollFds)
187
pollError =
Interop
.Sys.Poll(pPollFds, (uint)numFds, pollTimeout, &triggered);
191
if (pollError !=
Interop
.Error.SUCCESS)
193
if (pollError ==
Interop
.Error.EINTR)
198
throw new Win32Exception(
Interop
.Sys.ConvertErrorPalToPlatform(pollError));
276
if (
Interop
.Sys.Fcntl.DangerousSetIsNonBlocking(outputFd, 1) != 0 ||
Interop
.Sys.Fcntl.DangerousSetIsNonBlocking(errorFd, 1) != 0)
281
Span<
Interop
.PollEvent> pollFds = stackalloc
Interop
.PollEvent[2];
294
if (pollFds[i].TriggeredEvents ==
Interop
.PollEvents.POLLNONE)
333
int bytesRead =
Interop
.Sys.Read(handle, pBuffer + offset, buffer.Length - offset);
336
Interop
.ErrorInfo errorInfo =
Interop
.Sys.GetLastErrorInfo();
337
if (errorInfo.Error ==
Interop
.Error.EAGAIN)
System\Diagnostics\Process.Unix.cs (21)
72
int killResult =
Interop
.Sys.Kill(_processId,
Interop
.Sys.GetPlatformSignalNumber(PosixSignal.SIGKILL));
75
Interop
.Error error =
Interop
.Sys.GetLastError();
78
if (error ==
Interop
.Error.ESRCH)
108
int stopResult =
Interop
.Sys.Kill(_processId,
Interop
.Sys.GetPlatformSIGSTOP());
111
Interop
.Error error =
Interop
.Sys.GetLastError();
113
if (error !=
Interop
.Error.ESRCH)
122
int killResult =
Interop
.Sys.Kill(_processId,
Interop
.Sys.GetPlatformSignalNumber(PosixSignal.SIGKILL));
125
Interop
.Error error =
Interop
.Sys.GetLastError();
127
if (error !=
Interop
.Error.ESRCH)
262
int errno =
Interop
.Sys.GetPriority(
Interop
.Sys.PriorityWhich.PRIO_PROCESS, _processId, out int pri);
294
int result =
Interop
.Sys.SetPriority(
Interop
.Sys.PriorityWhich.PRIO_PROCESS, _processId, pri);
388
ticksPerSecond =
Interop
.Sys.SysConf(
Interop
.Sys.SysConfName._SC_CLK_TCK);
System\Diagnostics\ProcessManager.Linux.cs (33)
38
if (TryGetProcPid(processId, out
Interop
.procfs.ProcPid procPid) &&
39
Interop
.procfs.TryReadStatFile(procPid, out
Interop
.procfs.ParsedStat stat))
53
if (TryGetProcPid(processId, out
Interop
.procfs.ProcPid procPid))
55
modules =
Interop
.procfs.ParseMapsModules(procPid);
84
if (!TryGetProcPid(pid, out
Interop
.procfs.ProcPid procPid) ||
85
!
Interop
.procfs.TryReadStatFile(procPid, out
Interop
.procfs.ParsedStat stat))
100
Interop
.procfs.TryReadStatusFile(procPid, out
Interop
.procfs.ParsedStatus status);
107
internal static ProcessInfo CreateProcessInfo(
Interop
.procfs.ProcPid procPid, ref
Interop
.procfs.ParsedStat procFsStat, ref
Interop
.procfs.ParsedStatus procFsStatus, string? processName = null)
131
string tasksDir =
Interop
.procfs.GetTaskDirectoryPathForProcess(procPid);
139
Interop
.procfs.ParsedStat stat;
141
Interop
.procfs.TryReadStatFile(procPid, tid, out stat))
177
foreach (string procDir in Directory.EnumerateDirectories(
Interop
.procfs.RootPath))
232
internal static bool TryReadStatFile(int pid, out
Interop
.procfs.ParsedStat stat)
234
if (!TryGetProcPid(pid, out
Interop
.procfs.ProcPid procPid))
239
return
Interop
.procfs.TryReadStatFile(procPid, out stat);
242
internal static bool TryReadStatusFile(int pid, out
Interop
.procfs.ParsedStatus status)
244
if (!TryGetProcPid(pid, out
Interop
.procfs.ProcPid procPid))
249
return
Interop
.procfs.TryReadStatusFile(procPid, out status);
252
internal static bool TryReadStatFile(int pid, int tid, out
Interop
.procfs.ParsedStat stat)
254
if (!TryGetProcPid(pid, out
Interop
.procfs.ProcPid procPid))
259
return
Interop
.procfs.TryReadStatFile(procPid, tid, out stat);
262
internal static bool TryGetProcPid(int pid, out
Interop
.procfs.ProcPid procPid)
267
procPid =
Interop
.procfs.ProcPid.Self;
273
procPid = (
Interop
.procfs.ProcPid)pid;
278
procPid =
Interop
.procfs.ProcPid.Invalid;
291
if (
Interop
.Sys.ReadLink($"{
Interop
.procfs.RootPath}{
Interop
.procfs.Self}") is string target &&
System\Diagnostics\ProcessManager.Unix.cs (4)
30
int output =
Interop
.Sys.Kill(processId, 0);
32
return 0 == output || (-1 == output &&
Interop
.Error.EPERM ==
Interop
.Sys.GetLastError());
49
machineName !=
Interop
.Sys.GetHostName();
System\Diagnostics\ProcessThread.Linux.cs (7)
23
Interop
.procfs.ParsedStat stat = GetStat();
24
return
Interop
.Sys.GetThreadPriorityFromNiceValue((int)stat.nice);
43
Interop
.procfs.ParsedStat stat = GetStat();
62
Interop
.procfs.ParsedStat stat = GetStat();
78
Interop
.procfs.ParsedStat stat = GetStat();
83
private
Interop
.procfs.ParsedStat GetStat()
85
Interop
.procfs.ParsedStat stat;
System\Diagnostics\ProcessUtils.ConfigureTerminalForChildProcesses.Unix.cs (5)
25
Interop
.Sys.ConfigureTerminalForChildProcess(childUsesTerminal: true);
34
Interop
.Sys.ConfigureTerminalForChildProcess(childUsesTerminal: false);
41
Interop
.Sys.SetDelayedSigChildConsoleConfigurationHandler(&DelayedSigChildConsoleConfiguration);
54
Interop
.Sys.ConfigureTerminalForChildProcess(childUsesTerminal: false);
65
internal static bool IsTerminal(SafeFileHandle? standardHandle) => standardHandle is not null &&
Interop
.Sys.IsATty(standardHandle);
System\Diagnostics\ProcessUtils.Unix.cs (19)
22
internal static bool SupportsAtomicNonInheritablePipeCreation =>
Interop
.Sys.IsAtomicNonInheritablePipeCreationSupported;
26
Interop
.Sys.FileStatus fileinfo;
28
if (
Interop
.Sys.Stat(fullPath, out fileinfo) < 0)
34
if ((fileinfo.Mode &
Interop
.Sys.FileTypes.S_IFMT) ==
Interop
.Sys.FileTypes.S_IFDIR)
53
uint euid =
Interop
.Sys.GetEUid();
75
if (
Interop
.Sys.IsMemberOfGroup(fileinfo.Gid))
96
if (!
Interop
.Sys.InitializeTerminalAndSignalHandling())
102
Interop
.Sys.RegisterForSigChld(&OnSigChild);
122
uint[]? groups =
Interop
.Sys.GetGroupList(startInfo.UserName, groupId!.Value);
133
Interop
.Sys.Passwd? passwd;
137
const int BufLen =
Interop
.Sys.Passwd.InitialBufferSize;
169
private static unsafe bool TryGetPasswd(string name, byte* buf, int bufLen, out
Interop
.Sys.Passwd? passwd)
172
Interop
.Sys.Passwd tempPasswd;
173
int error =
Interop
.Sys.GetPwNamR(name, out tempPasswd, buf, bufLen);
190
var errorInfo = new
Interop
.ErrorInfo(error);
194
if (errorInfo.Error ==
Interop
.Error.ERANGE)
251
if (
Interop
.Sys.Access(resolvedFilename,
Interop
.Sys.AccessMode.X_OK) == 0)
System\Diagnostics\ProcessWaitState.Unix.cs (8)
369
int killResult =
Interop
.Sys.Kill(_processId, 0); // 0 means don't send a signal, used to check if process is still alive
379
Interop
.Error errno =
Interop
.Sys.GetLastError();
380
if (errno ==
Interop
.Error.ESRCH)
385
else if (errno ==
Interop
.Error.EPERM)
588
int waitResult =
Interop
.Sys.WaitPidExitedNoHang(_processId, out exitCode, out terminatingSignal);
622
pid =
Interop
.Sys.WaitIdAnyExitedNoHangNoWait();
694
pid =
Interop
.Sys.WaitPidExitedNoHang(-1, out exitCode, out terminatingSignal);