192 references to Interop
System.Diagnostics.Process (192)
LibraryImports.g.cs (20)
7
internal static extern partial global::
Interop
.Error ConvertErrorPlatformToPal(int platformErrno);
15
internal static extern partial int ConvertErrorPalToPlatform(global::
Interop
.Error error);
275
internal static partial nint MMap(nint addr, ulong len, global::
Interop
.Sys.MemoryMappedProtections prot, global::
Interop
.Sys.MemoryMappedFlags flags, global::Microsoft.Win32.SafeHandles.SafeFileHandle fd, long offset)
304
static extern unsafe nint __PInvoke(nint __addr_native, ulong __len_native, global::
Interop
.Sys.MemoryMappedProtections __prot_native, global::
Interop
.Sys.MemoryMappedFlags __flags_native, nint __fd_native, long __offset_native);
313
internal static partial nint MMap(nint addr, ulong len, global::
Interop
.Sys.MemoryMappedProtections prot, global::
Interop
.Sys.MemoryMappedFlags flags, nint fd, long offset)
327
static extern unsafe nint __PInvoke(nint __addr_native, ulong __len_native, global::
Interop
.Sys.MemoryMappedProtections __prot_native, global::
Interop
.Sys.MemoryMappedFlags __flags_native, nint __fd_native, long __offset_native);
359
internal static partial int MSync(nint addr, ulong len, global::
Interop
.Sys.MemoryMappedSyncFlags flags)
373
static extern unsafe int __PInvoke(nint __addr_native, ulong __len_native, global::
Interop
.Sys.MemoryMappedSyncFlags __flags_native);
382
internal static partial global::Microsoft.Win32.SafeHandles.SafeFileHandle Open(string filename, global::
Interop
.Sys.OpenFlags flags, int mode)
426
static extern unsafe nint __PInvoke(byte* __filename_native, global::
Interop
.Sys.OpenFlags __flags_native, int __mode_native);
435
internal static partial long SysConf(global::
Interop
.Sys.SysConfName name)
449
static extern unsafe long __PInvoke(global::
Interop
.Sys.SysConfName __name_native);
496
internal static partial int MAdvise(nint addr, ulong length, global::
Interop
.Sys.MemoryAdvice advice)
510
static extern unsafe int __PInvoke(nint __addr_native, ulong __length_native, global::
Interop
.Sys.MemoryAdvice __advice_native);
519
internal static partial global::Microsoft.Win32.SafeHandles.SafeFileHandle ShmOpen(string name, global::
Interop
.Sys.OpenFlags flags, int mode)
563
static extern unsafe nint __PInvoke(byte* __name_native, global::
Interop
.Sys.OpenFlags __flags_native, int __mode_native);
Microsoft\Win32\SafeHandles\SafeProcessHandle.Unix.cs (12)
85
int signalNumber =
Interop
.Sys.GetPlatformSignalNumber(signal);
91
int killResult =
Interop
.Sys.Kill(ProcessId, signalNumber);
94
Interop
.ErrorInfo errorInfo =
Interop
.Sys.GetLastErrorInfo();
97
if (errorInfo.Error ==
Interop
.Error.ESRCH)
242
throw new Win32Exception(
Interop
.Errors.ERROR_NO_ASSOCIATION);
304
Interop
.ErrorInfo error =
Interop
.Error.ENOENT.Info();
325
errno =
Interop
.Sys.ForkAndExecProcess(
360
new
Interop
.ErrorInfo(errno).Error ==
Interop
.Error.ENOEXEC)
365
throw ProcessUtils.CreateExceptionForErrorStartingProcess(new
Interop
.ErrorInfo(errno).GetErrorMessage(), errno, resolvedFilename, cwd);
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\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\libraries\Common\src\Interop\Unix\System.Native\Interop.GetGroupList.cs (1)
26
rv =
Interop
.Sys.GetGroupList(userName, primaryGroupId, pGroups, &ngroups);
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\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);