1<Type Name="UnixEnvironment" FullName="Mono.Unix.UnixEnvironment"> 2 <TypeSignature Language="C#" Value="public sealed class UnixEnvironment" /> 3 <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit UnixEnvironment extends System.Object" /> 4 <AssemblyInfo> 5 <AssemblyName>Mono.Posix</AssemblyName> 6 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 7 <AssemblyVersion>2.0.0.0</AssemblyVersion> 8 <AssemblyVersion>4.0.0.0</AssemblyVersion> 9 </AssemblyInfo> 10 <ThreadingSafetyStatement>This type is safe for multithreaded operations.</ThreadingSafetyStatement> 11 <Base> 12 <BaseTypeName>System.Object</BaseTypeName> 13 </Base> 14 <Interfaces /> 15 <Docs> 16 <summary>Provides the current settings for, and information about, the 17 execution environment.</summary> 18 <remarks> 19 <para> 20 Use this class to retrieve the following information: 21 </para> 22 <list type="bullet"> 23 <item> 24 <term> 25 User and Group information 26 </term> 27 </item> 28 <item> 29 <term> 30 Session creation 31 </term> 32 </item> 33 <item> 34 <term> 35 Process group creation 36 </term> 37 </item> 38 <item> 39 <term> 40 Configuration value lookup 41 </term> 42 </item> 43 <item> 44 <term> 45 Supplementary group information 46 </term> 47 </item> 48 </list> 49 </remarks> 50 </Docs> 51 <Members> 52 <Member MemberName="CreateSession"> 53 <MemberSignature Language="C#" Value="public static int CreateSession ();" /> 54 <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 CreateSession() cil managed" /> 55 <MemberType>Method</MemberType> 56 <AssemblyInfo> 57 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 58 <AssemblyVersion>2.0.0.0</AssemblyVersion> 59 <AssemblyVersion>4.0.0.0</AssemblyVersion> 60 </AssemblyInfo> 61 <ReturnValue> 62 <ReturnType>System.Int32</ReturnType> 63 </ReturnValue> 64 <Parameters /> 65 <Docs> 66 <summary>Create a new session.</summary> 67 <returns> 68 A <see cref="T:System.Int32" /> containing the return value of the 69 <see cref="M:Mono.Unix.Native.Syscall.setsid" /> call. This can be 70 ignored, since it will be translated into an exception if it's an 71 error anyway. 72 </returns> 73 <remarks> 74 <para> 75 This method creates a new session. The calling process is the 76 session leader of the new session, is the process group leader of 77 a new process group and has no controlling terminal. The calling 78 process is the only process in either the session or the process 79 group. 80 </para> 81 </remarks> 82 <exception cref="System.InvalidOperationException"> 83 <para> 84 The calling process is already a process group leader, or the 85 process group ID of a process other than the calling process 86 matches the process ID of the calling process. 87 [<see cref="F:Mono.Unix.Native.Errno.EPERM" />] 88 </para> 89 </exception> 90 <altmember cref="M:Mono.Unix.Native.Syscall.setsid" /> 91 </Docs> 92 </Member> 93 <Member MemberName="CurrentDirectory"> 94 <MemberSignature Language="C#" Value="public static string CurrentDirectory { get; set; }" /> 95 <MemberSignature Language="ILAsm" Value=".property string CurrentDirectory" /> 96 <MemberType>Property</MemberType> 97 <AssemblyInfo> 98 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 99 <AssemblyVersion>2.0.0.0</AssemblyVersion> 100 <AssemblyVersion>4.0.0.0</AssemblyVersion> 101 </AssemblyInfo> 102 <ReturnValue> 103 <ReturnType>System.String</ReturnType> 104 </ReturnValue> 105 <Docs> 106 <summary>Gets or sets the current directory of the process.</summary> 107 <value> 108 A <see cref="T:System.String" /> containing the current directory of 109 the process. 110 </value> 111 <remarks> 112 <para>The <paramref name="value" /> argument is permitted to specify 113 relative or absolute path information. Relative path information is 114 interpreted as relative to the current working directory. 115 <block subset="none" type="note">To obtain the current working 116 directory, see 117 <see cref="M:Mono.Unix.UnixDirectoryInfo.GetCurrentDirectory" qualify="true" />. 118 </block></para> 119 </remarks> 120 <exception cref="T:System.UnauthorizedAccessException"> 121 Permission to read or search a component of the current working 122 directory was denied. 123 [<see cref="F:Mono.Unix.Native.Errno.EACCESS" />] 124 </exception> 125 <exception cref="T:System.IO.FileNotFoundException"> 126 The current working directory has been unlinked. 127 [<see cref="F:Mono.Unix.Native.Errno.ENOENT" />] 128 </exception> 129 <altmember cref="M:Mono.Unix.UnixDirectoryInfo.GetCurrentDirectory" /> 130 <altmember cref="M:Mono.Unix.UnixDirectoryInfo.SetCurrentDirectory" /> 131 </Docs> 132 </Member> 133 <Member MemberName="EffectiveGroup"> 134 <MemberSignature Language="C#" Value="public static Mono.Unix.UnixGroupInfo EffectiveGroup { get; set; }" /> 135 <MemberSignature Language="ILAsm" Value=".property class Mono.Unix.UnixGroupInfo EffectiveGroup" /> 136 <MemberType>Property</MemberType> 137 <AssemblyInfo> 138 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 139 <AssemblyVersion>2.0.0.0</AssemblyVersion> 140 <AssemblyVersion>4.0.0.0</AssemblyVersion> 141 </AssemblyInfo> 142 <ReturnValue> 143 <ReturnType>Mono.Unix.UnixGroupInfo</ReturnType> 144 </ReturnValue> 145 <Docs> 146 <summary>Gets information about the effective group of the process.</summary> 147 <value> 148 A <see cref="T:Mono.Unix.UnixGroupInfo" /> containing information 149 about the effective group of the process. 150 </value> 151 <remarks> 152 <para> 153 The 154 <see cref="P:Mono.Unix.UnixEnvironment.EffectiveGroup" /> 155 gives the process additional permissions during the execution of 156 <see cref="F:Mono.Unix.FileSpecialAttributes.SetGroupId" /> 157 mode processes. 158 </para> 159 </remarks> 160 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveUser" /> 161 <altmember cref="M:Mono.Unix.UnixEnvironment.RealGroup" /> 162 <altmember cref="M:Mono.Unix.UnixEnvironment.RealUser" /> 163 <altmember cref="M:Mono.Unix.Native.Syscall.getegid" /> 164 </Docs> 165 </Member> 166 <Member MemberName="EffectiveGroupId"> 167 <MemberSignature Language="C#" Value="public static long EffectiveGroupId { get; set; }" /> 168 <MemberSignature Language="ILAsm" Value=".property int64 EffectiveGroupId" /> 169 <MemberType>Property</MemberType> 170 <AssemblyInfo> 171 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 172 <AssemblyVersion>2.0.0.0</AssemblyVersion> 173 <AssemblyVersion>4.0.0.0</AssemblyVersion> 174 </AssemblyInfo> 175 <ReturnValue> 176 <ReturnType>System.Int64</ReturnType> 177 </ReturnValue> 178 <Docs> 179 <summary>Gets the effective group ID of the process.</summary> 180 <value> 181 A <see cref="T:System.Int64" /> containing nthe effective group ID 182 of the process. 183 </value> 184 <remarks> 185 <para> 186 The 187 <see cref="P:Mono.Unix.UnixEnvironment.EffectiveGroupId" /> 188 gives the process additional permissions during the execution of 189 <see cref="F:Mono.Unix.FileSpecialAttributes.SetGroupId" /> 190 mode processes. 191 </para> 192 </remarks> 193 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveUserId" /> 194 <altmember cref="M:Mono.Unix.UnixEnvironment.RealGroupId" /> 195 <altmember cref="M:Mono.Unix.UnixEnvironment.RealUserId" /> 196 <altmember cref="M:Mono.Unix.Native.Syscall.getegid" /> 197 </Docs> 198 </Member> 199 <Member MemberName="EffectiveUser"> 200 <MemberSignature Language="C#" Value="public static Mono.Unix.UnixUserInfo EffectiveUser { get; set; }" /> 201 <MemberSignature Language="ILAsm" Value=".property class Mono.Unix.UnixUserInfo EffectiveUser" /> 202 <MemberType>Property</MemberType> 203 <AssemblyInfo> 204 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 205 <AssemblyVersion>2.0.0.0</AssemblyVersion> 206 <AssemblyVersion>4.0.0.0</AssemblyVersion> 207 </AssemblyInfo> 208 <ReturnValue> 209 <ReturnType>Mono.Unix.UnixUserInfo</ReturnType> 210 </ReturnValue> 211 <Docs> 212 <summary>Gets information about the effective user of the process.</summary> 213 <value> 214 A <see cref="T:Mono.Unix.UnixUserInfo" /> containing information 215 about the effective user of the process. 216 </value> 217 <remarks> 218 <para> 219 The 220 <see cref="P:Mono.Unix.UnixEnvironment.EffectiveUser" /> gives 221 the process additional permissions during execution of 222 <see cref="F:Mono.Unix.FileSpecialAttributes.SetUserId" /> 223 mode processes. 224 </para> 225 </remarks> 226 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveGroup" /> 227 <altmember cref="M:Mono.Unix.UnixEnvironment.RealGroup" /> 228 <altmember cref="M:Mono.Unix.UnixEnvironment.RealUser" /> 229 <altmember cref="M:Mono.Unix.Native.Syscall.geteuid" /> 230 </Docs> 231 </Member> 232 <Member MemberName="EffectiveUserId"> 233 <MemberSignature Language="C#" Value="public static long EffectiveUserId { get; set; }" /> 234 <MemberSignature Language="ILAsm" Value=".property int64 EffectiveUserId" /> 235 <MemberType>Property</MemberType> 236 <AssemblyInfo> 237 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 238 <AssemblyVersion>2.0.0.0</AssemblyVersion> 239 <AssemblyVersion>4.0.0.0</AssemblyVersion> 240 </AssemblyInfo> 241 <ReturnValue> 242 <ReturnType>System.Int64</ReturnType> 243 </ReturnValue> 244 <Docs> 245 <summary>Gets the effective user ID of the process.</summary> 246 <value> 247 A <see cref="T:System.Int64" /> containing the effective user ID of 248 the process. 249 </value> 250 <remarks> 251 <para> 252 The 253 <see cref="P:Mono.Unix.UnixEnvironment.EffectiveUserId" /> gives 254 the process additional permissions during execution of 255 <see cref="F:Mono.Unix.FileSpecialAttributes.SetUserId" /> 256 mode processes. 257 </para> 258 </remarks> 259 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveGroupId" /> 260 <altmember cref="M:Mono.Unix.UnixEnvironment.RealGroupId" /> 261 <altmember cref="M:Mono.Unix.UnixEnvironment.RealUserId" /> 262 <altmember cref="M:Mono.Unix.Native.Syscall.geteuid" /> 263 </Docs> 264 </Member> 265 <Member MemberName="GetConfigurationString"> 266 <MemberSignature Language="C#" Value="public static string GetConfigurationString (Mono.Unix.Native.ConfstrName name);" /> 267 <MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetConfigurationString(valuetype Mono.Unix.Native.ConfstrName name) cil managed" /> 268 <MemberType>Method</MemberType> 269 <AssemblyInfo> 270 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 271 <AssemblyVersion>2.0.0.0</AssemblyVersion> 272 <AssemblyVersion>4.0.0.0</AssemblyVersion> 273 </AssemblyInfo> 274 <Attributes> 275 <Attribute> 276 <AttributeName>System.CLSCompliant(false)</AttributeName> 277 </Attribute> 278 </Attributes> 279 <ReturnValue> 280 <ReturnType>System.String</ReturnType> 281 </ReturnValue> 282 <Parameters> 283 <Parameter Name="name" Type="Mono.Unix.Native.ConfstrName" /> 284 </Parameters> 285 <Docs> 286 <param name="name"> 287 A <see cref="T:Mono.Unix.Native.ConfstrName" /> value containing the 288 configuration value to retrieve. 289 </param> 290 <summary> 291 Retrieve the value of the configuration value 292 <paramref name="name" />. 293 </summary> 294 <returns> 295 A <see cref="T:System.String" /> containing the value of the 296 configuration variable <paramref name="name" />. 297 </returns> 298 <remarks> 299 </remarks> 300 <exception cref="System.ArgumentException"> 301 <para> 302 The value of the 303 <paramref name="name" /> 304 argument is invalid. 305 [<see cref="F:Mono.Unix.Native.Errno.EINVAL" />] 306 </para> 307 </exception> 308 <altmember cref="M:Mono.Unix.Native.Syscall.confstr" /> 309 </Docs> 310 </Member> 311 <Member MemberName="GetConfigurationValue"> 312 <MemberSignature Language="C#" Value="public static long GetConfigurationValue (Mono.Unix.Native.SysconfName name);" /> 313 <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64 GetConfigurationValue(valuetype Mono.Unix.Native.SysconfName name) cil managed" /> 314 <MemberType>Method</MemberType> 315 <AssemblyInfo> 316 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 317 <AssemblyVersion>2.0.0.0</AssemblyVersion> 318 <AssemblyVersion>4.0.0.0</AssemblyVersion> 319 </AssemblyInfo> 320 <Attributes> 321 <Attribute> 322 <AttributeName>System.CLSCompliant(false)</AttributeName> 323 </Attribute> 324 </Attributes> 325 <ReturnValue> 326 <ReturnType>System.Int64</ReturnType> 327 </ReturnValue> 328 <Parameters> 329 <Parameter Name="name" Type="Mono.Unix.Native.SysconfName" /> 330 </Parameters> 331 <Docs> 332 <param name="name"> 333 A <see cref="T:Mono.Unix.Native.SysconfName" /> value containing the 334 configurable system limit or option variable to lookup. 335 </param> 336 <summary> 337 Retrieve the value of the configurable system limit or 338 option value <paramref name="name" />. 339 </summary> 340 <returns> 341 A <see cref="T:System.Int64" /> containing the value of the 342 configurable system limit or option value <paramref name="name" />. 343 </returns> 344 <remarks> 345 <para> 346 This method provides a way for applications to determine the 347 current value of a configurable system limit or option variable. 348 The <paramref name="name" /> argument specifies the system 349 variable to be queried. 350 </para> 351 </remarks> 352 <exception cref="System.ArgumentException"> 353 <para> 354 The value of the 355 <paramref name="name" /> 356 argument is invalid. 357 [<see cref="F:Mono.Unix.Native.Errno.EINVAL" />] 358 </para> 359 </exception> 360 <altmember cref="M:Mono.Unix.Native.Syscall.sysconf" /> 361 </Docs> 362 </Member> 363 <Member MemberName="GetParentProcess"> 364 <MemberSignature Language="C#" Value="public static Mono.Unix.UnixProcess GetParentProcess ();" /> 365 <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.UnixProcess GetParentProcess() cil managed" /> 366 <MemberType>Method</MemberType> 367 <AssemblyInfo> 368 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 369 <AssemblyVersion>2.0.0.0</AssemblyVersion> 370 <AssemblyVersion>4.0.0.0</AssemblyVersion> 371 </AssemblyInfo> 372 <ReturnValue> 373 <ReturnType>Mono.Unix.UnixProcess</ReturnType> 374 </ReturnValue> 375 <Parameters /> 376 <Docs> 377 <summary>Gets information about the parent process.</summary> 378 <returns> 379 A <see cref="T:Mono.Unix.UnixProcess" /> instance containing 380 information about the parent process. 381 </returns> 382 <remarks> 383 </remarks> 384 </Docs> 385 </Member> 386 <Member MemberName="GetParentProcessId"> 387 <MemberSignature Language="C#" Value="public static int GetParentProcessId ();" /> 388 <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 GetParentProcessId() cil managed" /> 389 <MemberType>Method</MemberType> 390 <AssemblyInfo> 391 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 392 <AssemblyVersion>2.0.0.0</AssemblyVersion> 393 <AssemblyVersion>4.0.0.0</AssemblyVersion> 394 </AssemblyInfo> 395 <ReturnValue> 396 <ReturnType>System.Int32</ReturnType> 397 </ReturnValue> 398 <Parameters /> 399 <Docs> 400 <summary>Gets the process ID of the parent process.</summary> 401 <returns> 402 A <see cref="T:System.Int32" /> containing the process ID of the 403 parent process. 404 </returns> 405 <remarks> 406 </remarks> 407 <altmember cref="M:Mono.Unix.Native.Syscall.getppid" /> 408 </Docs> 409 </Member> 410 <Member MemberName="GetProcessGroup"> 411 <MemberSignature Language="C#" Value="public static int GetProcessGroup ();" /> 412 <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 GetProcessGroup() cil managed" /> 413 <MemberType>Method</MemberType> 414 <AssemblyInfo> 415 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 416 <AssemblyVersion>2.0.0.0</AssemblyVersion> 417 <AssemblyVersion>4.0.0.0</AssemblyVersion> 418 </AssemblyInfo> 419 <ReturnValue> 420 <ReturnType>System.Int32</ReturnType> 421 </ReturnValue> 422 <Parameters /> 423 <Docs> 424 <summary>Gets the process group ID of the current process.</summary> 425 <returns> 426 A <see cref="T:System.Int32" /> containing the process group ID of 427 the current process. 428 </returns> 429 <remarks> 430 <para> 431 Process groups are used for distribution of signals, and by 432 terminals to arbitrate requests for their input: processes that 433 have the same process group as the terminal are foreground and 434 may read, while others will block with a signal if they attempt 435 to read. 436 </para> 437 <para> 438 This system call is thus used by programs such as <c>csh</c>(1) 439 to create process groups in implementing job control. The 440 <see cref="M:Mono.Unix.Native.Syscall.tcgetpgrp" />() and 441 <see cref="M:Mono.Unix.Native.Syscall.tcsetpgrp" />() 442 calls are used to get/set the process group of the control terminal. 443 </para> 444 </remarks> 445 <altmember cref="M:Mono.Unix.Native.Syscall.getpgrp" /> 446 </Docs> 447 </Member> 448 <Member MemberName="GetSupplementaryGroupIds"> 449 <MemberSignature Language="C#" Value="public static long[] GetSupplementaryGroupIds ();" /> 450 <MemberSignature Language="ILAsm" Value=".method public static hidebysig int64[] GetSupplementaryGroupIds() cil managed" /> 451 <MemberType>Method</MemberType> 452 <AssemblyInfo> 453 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 454 <AssemblyVersion>2.0.0.0</AssemblyVersion> 455 <AssemblyVersion>4.0.0.0</AssemblyVersion> 456 </AssemblyInfo> 457 <ReturnValue> 458 <ReturnType>System.Int64[]</ReturnType> 459 </ReturnValue> 460 <Parameters /> 461 <Docs> 462 <summary>Gets the current group access list.</summary> 463 <returns> 464 A <see cref="T:System.Int64" /> array containing the group access 465 list of the current process. 466 </returns> 467 <remarks> 468 <para> 469 The group access list is a list of groups which the current 470 process belongs to. These groups are used for file access checks 471 when the 472 <see cref="P:Mono.Unix.UnixEnvironment.RealUser" /> is not the 473 file's 474 <see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerUser" />; each of 475 the supplementary groups is checked against 476 <see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerGroup" /> to see if 477 group access applies, before using the "other" 478 <see cref="P:Mono.Unix.UnixFileSystemInfo.FileAccessPermissions" />. 479 </para> 480 </remarks> 481 <altmember cref="M:Mono.Unix.Native.Syscall.getgroups" /> 482 </Docs> 483 </Member> 484 <Member MemberName="GetSupplementaryGroups"> 485 <MemberSignature Language="C#" Value="public static Mono.Unix.UnixGroupInfo[] GetSupplementaryGroups ();" /> 486 <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Mono.Unix.UnixGroupInfo[] GetSupplementaryGroups() cil managed" /> 487 <MemberType>Method</MemberType> 488 <AssemblyInfo> 489 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 490 <AssemblyVersion>2.0.0.0</AssemblyVersion> 491 <AssemblyVersion>4.0.0.0</AssemblyVersion> 492 </AssemblyInfo> 493 <ReturnValue> 494 <ReturnType>Mono.Unix.UnixGroupInfo[]</ReturnType> 495 </ReturnValue> 496 <Parameters /> 497 <Docs> 498 <summary>Gets the current group access list.</summary> 499 <returns> 500 A <see cref="T:Mono.Unix.UnixGroupInfo" /> array containing 501 information about the group access list of the current process. 502 </returns> 503 <remarks> 504 <para> 505 The group access list is a list of groups which the current 506 process belongs to. These groups are used for file access checks 507 when the 508 <see cref="P:Mono.Unix.UnixEnvironment.RealUser" /> is not the 509 file's 510 <see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerUser" />; each of 511 the supplementary groups is checked against 512 <see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerGroup" /> to see if 513 group access applies, before using the "other" 514 <see cref="P:Mono.Unix.UnixFileSystemInfo.FileAccessPermissions" />. 515 </para> 516 </remarks> 517 <altmember cref="M:Mono.Unix.Native.Syscall.getgroups" /> 518 </Docs> 519 </Member> 520 <Member MemberName="GetUserShells"> 521 <MemberSignature Language="C#" Value="public static string[] GetUserShells ();" /> 522 <MemberSignature Language="ILAsm" Value=".method public static hidebysig string[] GetUserShells() cil managed" /> 523 <MemberType>Method</MemberType> 524 <AssemblyInfo> 525 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 526 <AssemblyVersion>2.0.0.0</AssemblyVersion> 527 <AssemblyVersion>4.0.0.0</AssemblyVersion> 528 </AssemblyInfo> 529 <ReturnValue> 530 <ReturnType>System.String[]</ReturnType> 531 </ReturnValue> 532 <Parameters /> 533 <Docs> 534 <summary>Gets all user shells.</summary> 535 <returns> 536 A <see cref="T:System.String" /> array containing all user shells on 537 the system. 538 </returns> 539 <remarks> 540 <para> 541 A user shell is defined by the system manager in the shells 542 database as described in <c>shells</c>(5) (frequently the file 543 <c>/etc/shells</c>). If the shells database is not available, 544 then this returns an array containing the elements <c>/bin/sh</c> 545 and <c>/bin/csh</c>. 546 </para> 547 </remarks> 548 <altmember cref="M:Mono.Unix.Native.Syscall.setusershell" /> 549 <altmember cref="M:Mono.Unix.Native.Syscall.getusershell" /> 550 <altmember cref="M:Mono.Unix.Native.Syscall.endusershell" /> 551 </Docs> 552 </Member> 553 <Member MemberName="Login"> 554 <MemberSignature Language="C#" Value="public static string Login { get; }" /> 555 <MemberSignature Language="ILAsm" Value=".property string Login" /> 556 <MemberType>Property</MemberType> 557 <AssemblyInfo> 558 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 559 <AssemblyVersion>2.0.0.0</AssemblyVersion> 560 <AssemblyVersion>4.0.0.0</AssemblyVersion> 561 </AssemblyInfo> 562 <ReturnValue> 563 <ReturnType>System.String</ReturnType> 564 </ReturnValue> 565 <Docs> 566 <summary>Gets the login name.</summary> 567 <value> 568 A <see cref="T:System.String" /> containing the login name of the 569 user executing the process. 570 </value> 571 <remarks> 572 <para> 573 This is identical to 574 <see cref="P:Mono.Unix.UnixEnvironment.UserName" />. 575 </para> 576 </remarks> 577 </Docs> 578 </Member> 579 <Member MemberName="MachineName"> 580 <MemberSignature Language="C#" Value="public static string MachineName { get; set; }" /> 581 <MemberSignature Language="ILAsm" Value=".property string MachineName" /> 582 <MemberType>Property</MemberType> 583 <AssemblyInfo> 584 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 585 <AssemblyVersion>2.0.0.0</AssemblyVersion> 586 <AssemblyVersion>4.0.0.0</AssemblyVersion> 587 </AssemblyInfo> 588 <ReturnValue> 589 <ReturnType>System.String</ReturnType> 590 </ReturnValue> 591 <Docs> 592 <summary>Gets or sets the machine name of the machine the process is 593 running on.</summary> 594 <value> 595 A <see cref="T:System.String" /> containing the machine name. 596 </value> 597 <remarks> 598 <para> 599 Only the super-user can change the machine name. 600 </para> 601 </remarks> 602 <exception cref="System.InvalidOperationException"> 603 <para> 604 The caller tried to set the host name and was not the super-user. 605 [<see cref="F:Mono.Unix.Native.Errno.EPERM" />] 606 </para> 607 </exception> 608 <altmember cref="M:Mono.Unix.Native.Syscall.gethostname" /> 609 <altmember cref="M:Mono.Unix.Native.Syscall.sethostname" /> 610 </Docs> 611 </Member> 612 <Member MemberName="RealGroup"> 613 <MemberSignature Language="C#" Value="public static Mono.Unix.UnixGroupInfo RealGroup { get; }" /> 614 <MemberSignature Language="ILAsm" Value=".property class Mono.Unix.UnixGroupInfo RealGroup" /> 615 <MemberType>Property</MemberType> 616 <AssemblyInfo> 617 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 618 <AssemblyVersion>2.0.0.0</AssemblyVersion> 619 <AssemblyVersion>4.0.0.0</AssemblyVersion> 620 </AssemblyInfo> 621 <ReturnValue> 622 <ReturnType>Mono.Unix.UnixGroupInfo</ReturnType> 623 </ReturnValue> 624 <Docs> 625 <summary>Gets information about the real group of the process.</summary> 626 <value> 627 A <see cref="T:Mono.Unix.UnixGroupInfo" /> containing information 628 about the real group of the process. 629 </value> 630 <remarks> 631 <para> 632 The real group is the group of the user who invoked the program. 633 </para> 634 </remarks> 635 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveGroup" /> 636 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveUser" /> 637 <altmember cref="M:Mono.Unix.UnixEnvironment.RealUser" /> 638 <altmember cref="M:Mono.Unix.Native.Syscall.getgid" /> 639 </Docs> 640 </Member> 641 <Member MemberName="RealGroupId"> 642 <MemberSignature Language="C#" Value="public static long RealGroupId { get; }" /> 643 <MemberSignature Language="ILAsm" Value=".property int64 RealGroupId" /> 644 <MemberType>Property</MemberType> 645 <AssemblyInfo> 646 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 647 <AssemblyVersion>2.0.0.0</AssemblyVersion> 648 <AssemblyVersion>4.0.0.0</AssemblyVersion> 649 </AssemblyInfo> 650 <ReturnValue> 651 <ReturnType>System.Int64</ReturnType> 652 </ReturnValue> 653 <Docs> 654 <summary>Gets the real group ID of the process.</summary> 655 <value> 656 A <see cref="T:System.Int64" /> containing the real group ID of the 657 process. 658 </value> 659 <remarks> 660 <para> 661 The real group ID is the group of the user who invoked the program. 662 </para> 663 </remarks> 664 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveGroupId" /> 665 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveUserId" /> 666 <altmember cref="M:Mono.Unix.UnixEnvironment.RealUserId" /> 667 <altmember cref="M:Mono.Unix.Native.Syscall.getgid" /> 668 </Docs> 669 </Member> 670 <Member MemberName="RealUser"> 671 <MemberSignature Language="C#" Value="public static Mono.Unix.UnixUserInfo RealUser { get; }" /> 672 <MemberSignature Language="ILAsm" Value=".property class Mono.Unix.UnixUserInfo RealUser" /> 673 <MemberType>Property</MemberType> 674 <AssemblyInfo> 675 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 676 <AssemblyVersion>2.0.0.0</AssemblyVersion> 677 <AssemblyVersion>4.0.0.0</AssemblyVersion> 678 </AssemblyInfo> 679 <ReturnValue> 680 <ReturnType>Mono.Unix.UnixUserInfo</ReturnType> 681 </ReturnValue> 682 <Docs> 683 <summary>Gets information about the real user of the process.</summary> 684 <value> 685 A <see cref="T:Mono.Unix.UnixUserInfo" /> containing information 686 about the real user of the process. 687 </value> 688 <remarks> 689 <para> 690 The real user is the user who invoked the program. 691 </para> 692 </remarks> 693 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveGroup" /> 694 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveUser" /> 695 <altmember cref="M:Mono.Unix.UnixEnvironment.RealGroup" /> 696 <altmember cref="M:Mono.Unix.Native.Syscall.getuid" /> 697 </Docs> 698 </Member> 699 <Member MemberName="RealUserId"> 700 <MemberSignature Language="C#" Value="public static long RealUserId { get; }" /> 701 <MemberSignature Language="ILAsm" Value=".property int64 RealUserId" /> 702 <MemberType>Property</MemberType> 703 <AssemblyInfo> 704 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 705 <AssemblyVersion>2.0.0.0</AssemblyVersion> 706 <AssemblyVersion>4.0.0.0</AssemblyVersion> 707 </AssemblyInfo> 708 <ReturnValue> 709 <ReturnType>System.Int64</ReturnType> 710 </ReturnValue> 711 <Docs> 712 <summary>Gets the real user ID of the process.</summary> 713 <value> 714 A <see cref="T:System.Int64" /> containing the real user ID of the 715 process. 716 </value> 717 <remarks> 718 <para> 719 The real user ID is that of the user who invoked the program. 720 </para> 721 </remarks> 722 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveGroupId" /> 723 <altmember cref="M:Mono.Unix.UnixEnvironment.EffectiveUserId" /> 724 <altmember cref="M:Mono.Unix.UnixEnvironment.RealGroupId" /> 725 <altmember cref="M:Mono.Unix.Native.Syscall.getuid" /> 726 </Docs> 727 </Member> 728 <Member MemberName="SetNiceValue"> 729 <MemberSignature Language="C#" Value="public static void SetNiceValue (int inc);" /> 730 <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetNiceValue(int32 inc) cil managed" /> 731 <MemberType>Method</MemberType> 732 <AssemblyInfo> 733 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 734 <AssemblyVersion>2.0.0.0</AssemblyVersion> 735 <AssemblyVersion>4.0.0.0</AssemblyVersion> 736 </AssemblyInfo> 737 <ReturnValue> 738 <ReturnType>System.Void</ReturnType> 739 </ReturnValue> 740 <Parameters> 741 <Parameter Name="inc" Type="System.Int32" /> 742 </Parameters> 743 <Docs> 744 <param name="inc"> 745 A <see cref="T:System.Int32" /> containing the value to add to the 746 current process' <i>nice value</i>. 747 </param> 748 <summary>Subtraces <paramref name="inc" /> from the process' priority.</summary> 749 <remarks> 750 <para> 751 The process' <i>nice value</i> is a value subtraced from the 752 process' priority. The higher the value of 753 <paramref name="inc" />, the lower the priority of the process 754 </para> 755 </remarks> 756 <exception cref="T:Mono.Unix.UnixIOException"> 757 <paramref name="inc" /> is negative but the caller is not the 758 super-user. 759 [<see cref="F:Mono.Unix.Native.Errno.EPERM" />] 760 </exception> 761 <altmember cref="M:Mono.Unix.Native.Syscall.nice" /> 762 </Docs> 763 </Member> 764 <Member MemberName="SetProcessGroup"> 765 <MemberSignature Language="C#" Value="public static void SetProcessGroup ();" /> 766 <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetProcessGroup() cil managed" /> 767 <MemberType>Method</MemberType> 768 <AssemblyInfo> 769 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 770 <AssemblyVersion>2.0.0.0</AssemblyVersion> 771 <AssemblyVersion>4.0.0.0</AssemblyVersion> 772 </AssemblyInfo> 773 <ReturnValue> 774 <ReturnType>System.Void</ReturnType> 775 </ReturnValue> 776 <Parameters /> 777 <Docs> 778 <summary>Set the process group of the current process.</summary> 779 <remarks> 780 <para> 781 If the affected process is not the invoking process, then it must 782 be a child of the invoking process, and both processes must be in 783 the same session. 784 </para> 785 </remarks> 786 <exception cref="System.InvalidOperationException"> 787 <para> 788 The target process is a session leader. 789 [<see cref="F:Mono.Unix.Native.Errno.EPERM" />] 790 </para> 791 </exception> 792 <exception cref="Mono.Unix.UnixIOException"> 793 <para> 794 The target process is not the calling process or 795 a child of the calling process. 796 [<see cref="F:Mono.Unix.Native.Errno.ESRCH" />] 797 </para> 798 <para>-or-</para> 799 <para> 800 The requested process is a child of the calling process, 801 but it has performed an 802 <see cref="F:Mono.Unix.Native.Syscall.exec" />(3) 803 operation. 804 [<see cref="F:Mono.Unix.Native.Errno.EACCES" />] 805 </para> 806 </exception> 807 <altmember cref="P:Mono.Unix.UnixProcess.ProcessGroupId" /> 808 <altmember cref="M:Mono.Unix.Native.Syscall.setpgrp" /> 809 </Docs> 810 </Member> 811 <Member MemberName="SetSupplementaryGroupIds"> 812 <MemberSignature Language="C#" Value="public static void SetSupplementaryGroupIds (long[] list);" /> 813 <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetSupplementaryGroupIds(int64[] list) cil managed" /> 814 <MemberType>Method</MemberType> 815 <AssemblyInfo> 816 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 817 <AssemblyVersion>2.0.0.0</AssemblyVersion> 818 <AssemblyVersion>4.0.0.0</AssemblyVersion> 819 </AssemblyInfo> 820 <ReturnValue> 821 <ReturnType>System.Void</ReturnType> 822 </ReturnValue> 823 <Parameters> 824 <Parameter Name="list" Type="System.Int64[]" /> 825 </Parameters> 826 <Docs> 827 <param name="list"> 828 A <see cref="T:System.Int64" /> array containing the 829 new group access list. 830 </param> 831 <summary> 832 Set the group access list of the current process. 833 </summary> 834 <remarks> 835 <para> 836 Only the super-user may set new groups. 837 </para> 838 <para> 839 The group access list is a list of groups which the current 840 process belongs to. These groups are used for file access checks 841 when the 842 <see cref="P:Mono.Unix.UnixEnvironment.RealUser" /> is not the 843 file's 844 <see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerUser" />; each of 845 the supplementary groups is checked against 846 <see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerGroup" /> to see if 847 group access applies, before using the "other" 848 <see cref="P:Mono.Unix.UnixFileSystemInfo.FileAccessPermissions" />. 849 </para> 850 </remarks> 851 <exception cref="System.InvalidOperationException"> 852 <para> 853 The caller is not the super-user. 854 [<see cref="F:Mono.Unix.Native.Errno.EPERM" />] 855 </para> 856 </exception> 857 <altmember cref="M:Mono.Unix.Native.Syscall.setgroups" /> 858 </Docs> 859 </Member> 860 <Member MemberName="SetSupplementaryGroups"> 861 <MemberSignature Language="C#" Value="public static void SetSupplementaryGroups (Mono.Unix.UnixGroupInfo[] groups);" /> 862 <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetSupplementaryGroups(class Mono.Unix.UnixGroupInfo[] groups) cil managed" /> 863 <MemberType>Method</MemberType> 864 <AssemblyInfo> 865 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 866 <AssemblyVersion>2.0.0.0</AssemblyVersion> 867 <AssemblyVersion>4.0.0.0</AssemblyVersion> 868 </AssemblyInfo> 869 <ReturnValue> 870 <ReturnType>System.Void</ReturnType> 871 </ReturnValue> 872 <Parameters> 873 <Parameter Name="groups" Type="Mono.Unix.UnixGroupInfo[]" /> 874 </Parameters> 875 <Docs> 876 <param name="groups"> 877 A <see cref="T:Mono.Unix.UnixGroupInfo" /> array containing the 878 new group access list. 879 </param> 880 <summary> 881 Set the group access list of the current process. 882 </summary> 883 <remarks> 884 <para> 885 Only the super-user may set new groups. 886 </para> 887 <para> 888 The group access list is a list of groups which the current 889 process belongs to. These groups are used for file access checks 890 when the 891 <see cref="P:Mono.Unix.UnixEnvironment.RealUser" /> is not the 892 file's 893 <see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerUser" />; each of 894 the supplementary groups is checked against 895 <see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerGroup" /> to see if 896 group access applies, before using the "other" 897 <see cref="P:Mono.Unix.UnixFileSystemInfo.FileAccessPermissions" />. 898 </para> 899 </remarks> 900 <exception cref="System.InvalidOperationException"> 901 <para> 902 The caller is not the super-user. 903 [<see cref="F:Mono.Unix.Native.Errno.EPERM" />] 904 </para> 905 </exception> 906 <altmember cref="M:Mono.Unix.Native.Syscall.setgroups" /> 907 </Docs> 908 </Member> 909 <Member MemberName="UserName"> 910 <MemberSignature Language="C#" Value="public static string UserName { get; }" /> 911 <MemberSignature Language="ILAsm" Value=".property string UserName" /> 912 <MemberType>Property</MemberType> 913 <AssemblyInfo> 914 <AssemblyVersion>1.0.5000.0</AssemblyVersion> 915 <AssemblyVersion>2.0.0.0</AssemblyVersion> 916 <AssemblyVersion>4.0.0.0</AssemblyVersion> 917 </AssemblyInfo> 918 <ReturnValue> 919 <ReturnType>System.String</ReturnType> 920 </ReturnValue> 921 <Docs> 922 <summary>Gets the user name of the user executing the process.</summary> 923 <value> 924 A <see cref="T:System.String" /> containing the username of the user 925 executing the process. 926 </value> 927 <remarks> 928 <para> 929 This is the username of the <i>real</i> user id. 930 </para> 931 <para> 932 This is equivalent to calling 933 <see cref="P:Mono.Unix.UnixEnvironment.RealUser" />.<see cref="P:Mono.Unix.UnixUserInfo.UserName" />. 934 </para> 935 </remarks> 936 </Docs> 937 </Member> 938 </Members> 939</Type> 940