limit(1) on Solnix vs Linux and the BSDs

On Solnix, limit, unlimit and ulimit are shell built-ins, not separate programs, and one page covers sh, csh, ksh and ksh93. The syntax depends on the shell: csh uses limit/unlimit with named resources, while sh, ksh and ksh93 use ulimit with single-letter flags. The bundle has no usable limit text from FreeBSD or NetBSD.

What Solnix runs

A default Solnix system has no limit binary on PATH. limit and unlimit are csh built-ins, and ulimit is built into sh, ksh and ksh93. The page also documents /usr/bin/ulimit [-f] [blocks], which only sets or reports the file-size limit. The bundle has no Linux or OpenBSD counterpart page, so nothing is claimed about them.

Differences

Compared withTopicWhat differs
FreeBSDwhat the counterpart page isFreeBSD's limit(1) page is the builtin(1) index of shell built-ins. It has no limit syntax, options or resource names, so no flag comparison is possible from the bundle. It lists limit and unlimit as csh-only and ulimit as sh-only.
Source: FreeBSD limit(1) (builtin) Commands table rows limit, unlimit, ulimit; Solnix limit(1) SYNOPSIS
NetBSDwhat the counterpart page isNetBSD's limit(1) page is the csh(1) manual. The bundle excerpt ends before any limit or unlimit section, so the manual text shown does not say how NetBSD's limit options or resource names compare.
Source: NetBSD limit(1) (csh) NAME, SYNOPSIS; Solnix limit(1) csh
FreeBSDwhich shell has which commandOn FreeBSD, ulimit is a built-in of sh only and limit/unlimit are csh only. Solnix documents ulimit in sh, ksh and ksh93, and limit/unlimit in csh. Solnix also documents a /usr/bin/ulimit utility, while FreeBSD marks ulimit as an external script (No*).
Source: FreeBSD limit(1) (builtin) table, ulimit row and No* note; Solnix limit(1) SYNOPSIS (/usr/bin/ulimit, sh, csh, ksh, ksh93)
FreeBSD, NetBSDdefault resource when none is namedOn Solnix, ulimit with no resource flag acts on the file size limit (-f) in sh, ksh and ksh93. /usr/bin/ulimit handles only file size. The FreeBSD and NetBSD texts in the bundle do not state a default.
Source: Solnix limit(1) sh DESCRIPTION, ksh and ksh93 (default -f), /usr/bin/ulimit; FreeBSD and NetBSD pages silent
FreeBSD, NetBSDhard and soft limit defaultsSolnix sh ulimit with neither -H nor -S sets both limits and prints the soft limit. ksh93 lists the soft limit (-S) and sets both. A script that relies on these defaults is checkable only against Solnix; the BSD texts here do not document them.
Source: Solnix limit(1) sh (-H, -S) and ksh93 (-H or -S paragraph); FreeBSD and NetBSD pages silent
FreeBSD, NetBSDunits of limit valuesOn Solnix, ulimit -c and -f count 512-byte blocks, while -d, -s and -v count Kbytes and -t counts seconds. In ksh93, -c and -f are blocks and -b and -p are bytes. The BSD pages in the bundle give no units.
Source: Solnix limit(1) sh -c -d -f -s -t -v; ksh93 -b -c -f -p
FreeBSD, NetBSDksh93 extra resources and long optionsSolnix ksh93 ulimit adds -b, -L, -l, -M, -m, -p, -T and -u, with GNU-style names such as --nofile, --nproc, --threads and --as. The sh ulimit accepts only -c, -d, -f, -n, -s, -t and -v. These are not in the BSD texts shown.
Source: Solnix limit(1) ksh93 options list; sh synopsis
FreeBSD, NetBSDcsh limit names and scalingSolnix csh limit takes resource names: cputime, filesize, datasize, stacksize, coredumpsize, descriptors, memorysize. Values default to kilobytes except cputime, which accepts nh, nm and mm:ss. unlimit removes a limit, and -h applies to hard limits.
Source: Solnix limit(1) csh resource list, limit scaling, unlimit -h; FreeBSD limit(1) table lists limit and unlimit as csh built-ins
FreeBSD, NetBSDcsh descriptors and stack notesThe Solnix csh page says the default stack size is 2^64 and that descriptors maximums come from sysdef(8), reported in hexadecimal. The page also says datasize, stacksize and heapsize are not system tunables. The BSD texts in the bundle say nothing comparable.
Source: Solnix limit(1) csh stacksize, descriptors; Per-Shell Memory Parameters

Everyday tasks

TaskSolnixFreeBSD
show all resource limitsulimit -a (sh, ksh, ksh93); limit (csh)limit (csh built-in); ulimit is an sh built-in, flags not in bundle
remove a limitunlimit [-h] [resource] (csh); ulimit with the value unlimited (sh, ksh, ksh93)unlimit (csh built-in)

Standards

  • POSIX: limit is not a POSIX.1-2024 utility, per the bundle header.
  • Solnix: The part of the Solnix page in the bundle states no standards or interface stability.

Writing portable scripts

  • Do not assume one syntax: csh uses limit and unlimit with names like descriptors, while sh and ksh use ulimit with letters such as -n. Pick the form for the shell that runs the script.
  • Use only ulimit -c, -d, -f, -n, -s, -t and -v for sh scripts on Solnix, and set -H or -S explicitly instead of relying on the default of setting both.

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.