Package sysutil is a cross-platform compatibility layer on top of package syscall. It exposes APIs for common operations that require package syscall and re-exports several symbols from package syscall that are known to be safe. Using package syscall directly from other packages is forbidden.
CreateLargeFile creates a large file at the given path with bytes size. On Linux, it uses the fallocate syscall to efficiently create a file of the given size. On other platforms, it naively writes the specified number of bytes, which can take a long time.
ExitStatus returns the exit status contained within an exec.ExitError.
ProcessIdentity returns a string describing the user and group that this process is running as.
RefreshSignaledChan returns a channel that will receive an os.Signal whenever the process receives a "refresh" signal (currently SIGHUP). A refresh signal indicates that the user wants to apply nondisruptive updates, like reloading certificates and flushing log files.
On Windows, the returned channel will never receive any values, as Windows does not support signals. Consider exposing a refresh trigger through other means if Windows support is important.
StatAndLinkCount wraps os.Stat, returning its result and, if the platform supports it, the link-count from the returned file info.
Errno is syscall.Errno.
FSInfo describes a filesystem. It is returned by StatFS.
StatFS returns an FSInfo describing the named filesystem. It is only supported on Unix-like platforms.
Signal is syscall.Signal.