OMPSINFO(1) openMosix tools User's Manual OMPSINFO(1) <<
ompsinfo - report openMosix related process status
ompsinfo [options] ompsinfo <PID> ompsinfo [ -C <COMMAND_NAME> | -p <PID> | <PID> ] [ -u <USERNAME> | -A ] [ -U ] [ -N ] [ -l | -o pid= ] [ -a INFO1,INFO2,... ] [ -h | -H ]
ompsinfo gives a snapshot of the current processes. Displayed informations come from openMosix related proc files like where, nmigs, lock, cantmove (and, obviously, some informations from stat). cwd and /proc/mounts are used (when "-a mfs" is given) in order to check if a job is running on the openMosix filesystem mount point (EXPERIMENTAL).
The original version of ompsinfo was based on minimal version of ps. Where possible, this program mantains the compatibility with ps Unix98 options. Unix options can be grouped (I discourage it) and must be preceeded by a dash, option and argument cannot be grouped. BSD options are not supported. Few GNU long options are supported (add, help, usage, version). Options of different types may be freely mixed. PROCESS SELECTION BY LIST -A select all users and processes (adds USER header to format) -C <COMMAND_NAME> select by command name -p <PID> select by PID -u <USERNAME> select by username SWITCH -U use effective user ID (default is real user ID) SELECTION WEIRD MODIFIERS (on composed selections the output may be not what you expect, see 'N' truth table section) -N negate "composed" selection -NC <COMMAND_NAME> negate command selection (not UX98, not the same of "-N -C") -Nu <USERNAME> negate user selection (not UX98, not the same of "-N -u") OUTPUT FORMAT CONTROL -l long format -o <FORMAT> user-defined format (limited support, accepts only "pid="). Here for compatibility reasons. -a|--add INFO,... add info to output format ('-a help' to see a short list of allowed arguments). See 'ADD' OUTPUT section. OUTPUT MODIFIERS -h no header -H one header per page INFORMATION -V,--version display program version --help display this message --usage display short usage message
default CMD PID NODE NMIGS LOCK CANTMOVE -p CMD NODE NMIGS LOCK CANTMOVE (no PID, PID is argument) -C PID NODE NMIGS LOCK CANTMOVE (no CMD, CMD is argument) -l USER PID PPID PRI NI S NODE NMIGS LOCK CNTM TIME COMMAND (long, CANTMOVE as FLAG: '1'|'0') -A USER will be added to output format (unless already present or -o specified) -N* USER and CMD will be added to output format (unless already present or -o specified) -a mfs MFS will be added to output format
ARGUMENTS: User, CMd, PId, PPid, PRiority, NIce, Stat, (NOde|Where), NMigs, (Omfs|Mfs), Lock, (CANTFlag|CNtm), CANTMove, Time, COmmand Use at least the upper case letters reported above, only those letters are parsed. String is not case sensitive. DELIMITER is "," (comma). Valid strings can be "user,cmd,pid", "u,cm,pi", "US,cM,Pi". Order has no influence, the labels will be displayed in the same order reported above. "node" and "where" are equivalent. "cmd" and "command" report the same information but on different position. Note that with "time" or "command", "cantmove" can mess up these columns, use "cantflag" instead. '-' remove following info (--add "user,-cmd,-pid,command"). '=' as first character set the header exactly as defined by your argument (--add "=user,cmd,pid"). "mfs" reports if the cwd of the process match the oMFS mount point. Is only added by explicit user's request (-a mfs). Response flag may be: - oMFS not mounted (or some error condition while reading /proc/mounts) / local filesystem (not on oMFS) # oMFS node number, the job is running on the oMFS mount point path (CWD=/mfs/#/...) = the process is running exactly with CWD = oMFS_mount_point (CWD=/mfs) ? error on readlink() (cwd owned by zombie?) ?? the process is running on oMFS mount point but not on a oMFS node (CWD=/mfs/[^0-9]*, not /mfs/#...)
If no "selection" option is given (-A,-u,-C,-p,-N?), owner uid is used for selection. The -h option totally disable the header. The -H option prints the header on each "page" of output. The number of lines is acquired from tty and LINES environment vari- able, otherwise standard 80x24 size is assumed. See ENVIRONMENT VARIABLES section. Options -C and -p, -A and -u, -l and -o, -h and -H are mutually exclusives. Options accept only one argument (one PID, one username, one command, ...). PRI assumes 60 as base priority (long format output or "-a pri"). "-o pid=" implies -h <PID> implies -p -N need at least -C or -u -X and -NX are mutually exclusives. Compose -N* options at your own risk! %-)
To see your processes on the system (short output): ompsinfo To see every process on the system (short output): ompsinfo -A To see every process on the system (long output): ompsinfo -A -l To see every process running as root (real ID) ompsinfo -u root To see every process running as root (effective ID) ompsinfo -u root -U To see every process named "foo" (long format, reporting effective ID) ompsinfo -C foo -l -U To see every process named "foo" and owned by (real) user "bar" ompsinfo -C foo -u bar To see every process but NOT processes owned by root (real ID) ompsinfo -Nu root To see every process but NOT processes owned by root and NOT processes named "command" (real ID) ompsinfo -Nu root -NC command To see every process but NOT processes named "command" owned by root (real ID) ompsinfo -u root -C command -N Print only the process IDs of syslogd: ompsinfo -C syslogd -o pid= Print only info about process with pid 1 (init), long format: ompsinfo -p 1 -l Add user info to the output format: ompsinfo -a user Change the output format to user-defined one: ompsinfo -a =user,pid,nmigs,command Add ppid, remove lock, add cantf (cantmove as flag): ompsinfo -a ppid,-lock,cantf openMosix infos about all processes (reporting (o)MFS flag) ompsinfo -A -a mfs Help message ompsinfo --help Short usage message (displayed also on usage errors) ompsinfo --usage
u | u user's processes Nu | !u every process but NOT user's processes, implies -A C | C every process named command, implies -A NC | !C every process but NOT processes named command, implies -A u C | u&C every process named command owned by user Nu C | (!u)&C every process named command but NOT owned by user, implies -A u NC | u&(!C) every process owned by user but NOT processes named command Nu NC | (!u)&(!C) = !(u|C) every process but NOT processes owned by user and NOT processes named command, implies -A --------+--------------------- u N | !u NOT user's processes, implies -A (eq. -Nu) Nu N | !(!u) = u user's processes (eq. -u) C N | !C every process but NOT processes named command, implies -A (eq. -NC) NC N | !(!C) = C every process named command, implies -A (eq. -C) u C N | !(u&C) = (!u)|(!C) every process but NOT (processes named command owned by user), implies -A Nu C N | !((!u)&C) = u|(!C) every process but NOT processes named command unless owned by user, implies -A u NC N | !(u&(!C)) = (!u)|C every process but NOT user's processes unless named command, implies -A Nu NC N | !((!u)&(!C)) = u|C every process owned by user or named command Take a look at http://www.democritos.it/~baro/sw/ompsinfo/doc/
/proc location of the proc file system /proc/hpc location of the openMosix proc interface /proc/<PID>/stat status information about the process /proc/<PID>/where where the process is currently being computed /proc/<PID>/nmigs how many times the process migrated /proc/<PID>/lock if a process is locked to its home node /proc/<PID>/cantmove reason why a process cannot be migrated /proc/<PID>/cwd symlink to the current working directory of the process /proc/mounts shows mounted filesystems [device mpoint fstype options flags...]
When -H options is given, ompsinfo's behaviour is affected by LINES environment variable. You can use something like "LINES=20 ompsinfo -H ..." in order to force ompsinfo to evaluate a different LINES value.
On success, exit status is zero (EXIT_SUCCESS). On error, 1 is returned (EXIT_FAILURE). Usage function returns a short line describing the error occurred.
Sorry for my awful english, feel free to correct any kind of error you may find. Please send bug reports, suggestions, insults, to <baro@democritos.it> or <mirko@mcaserta.com>.
The first version of ompsinfo was a bash script. It works well but sometimes slow (obviously). The first C version, v1.0.1, was based on minimal.c. As the author, Albert Cahalan, comments about minimal.c: "This is a minimal ps designed to be smaller than the old ps while still supporting some of the more important features of the new ps. (for total size, note that this ps does not need libproc) It is suitable for Linux-on-a-floppy systems only." It was really fast and simple, but did not offers a friendly and configurable "interface". While adding some ps style options the program was heavily modified, almost rewritten. Version 1.1.0 is the first stable release available in the openMosix-user- land-tools package. It is a bit heavier than the 1.0.1 version, but much more flexible. However you can find all versions on the cvs tree of the tools (http://cvs.sourceforge.net/viewcvs.py/openmosix/userspace-tools) or on my homepage (http://www.dem- ocritos.it/~baro/sw/ompsinfo).
ompsinfo was hacked by Moreno 'baro' Baricevic <baro@democritos.it>. The "minimal" ps (on which this program was based) is copyright by Albert Cahalan, distributed under GPL and was taken from procps-3.1.13 package (http://procps.sourceforge.net). ompsinfo, its source (ompsinfo.c) and this manpage (ompsinfo.1) are distributed under the terms of the GNU GPL.
openmosix(1), mps(1), mtop(1), ps(1), top(1), pstree(1), proc(5). openMosix November 30, 2003 OMPSINFO(1) <<
Last modified: Fri, 01 Oct 2004 - 15:24:14 CEST