Linuxism
|
Linuxism is a term used colloquially in software development circles when considering porting software from the Linux operating system to other Unix or Unix-like operating systems. Generally it refers to software patterns or practices that depend on idiosyncrasies or characteristics of Linux.
In some cases, Linuxisms could be considered poor practice — like any technique that makes unreasonable assumptions about the capabilities provided by the operating system, it leads to reduced portability.
Examples
Consider the setlinebuf function of the C standard library. In GNU/Linux systems, its prototype is
void setlinebuf(FILE *);
whilst on BSD systems, it is
int setlinebuf(FILE *);
setlinebuf is not specified by the Single Unix Specification, thus implementors are free to define such a function as they wish.
The killall utility on Linux systems has the semantics of killing all processes by name, whilst Solaris killall kills all processes currently running.