Shell內建命令之ulimit

2021-09-17 03:09:29 字數 1161 閱讀 1806

ulimit [-hsabcdefiklmnpqrstuvxpt] [limit],在支援的系統上,ulimit可以對shell啟動的程序可用的資源進行控制。

-h:更改並報告與資源關聯的硬限制。

-s:更改並報告與資源關聯的軟限制。

-a:報告所有當前限制。

-b:最大套接字緩衝區大小。

-c:建立的core檔案的最大大小,單位是blocks。

-d:乙個程序資料段的最大大小,單位是kbytes。

-e:最大排程優先順序,設定的是nice值。

-f:由shell及其子程式寫入的檔案的最大大小,單位是blocks。

-i:等待的訊號的最大數量。

-k:可分配的最大kqueue數量,kqueue是freebsd 4.1在2023年7月引入的乙個可伸縮的事件通知介面。

-l:可鎖定的最大記憶體大小,單位是kbytes。

-m:常駐記憶體大小,但很多系統不遵守這個限制,單位是kbytes。

-n:開啟檔案描述符的最大數目,大多數系統不允許設定此值。

-p:管道緩衝區大小,單位是bytes。

-q:posix訊息佇列中的最大位元組數,單位是bytes。

-r:最大實時排程優先順序。

-s:最大堆疊大小,單位是kbytes。

-t:cpu時間最大秒數。

-u:單個使用者可用的最大程序數。

-v:shell可用的最大虛擬記憶體,單位是bytes。在某些系統上也包括其子程序。

-x:檔案鎖的最大數量。

-p:偽終端的最大數目。

-t:最大執行緒數。

如果指定了limit,並且沒有使用-a選項,那麼limit會作為指定資源的新值。limit有三個特殊值hard、soft和unlimited分別表示當前硬限制、當前軟限制和無限制。一旦設定了硬限制,除非是root使用者,否則不能增加。軟限制的值可以增加到硬限制的值。如果未指定limit且沒有使用-a選項,則除非使用了-h選項,否則會列印指定的資源的當前軟限制的值。在設定新的限制值時,如果-h和-s都沒有指定,則會同時設定硬限制和軟限制。

如果沒有指定任何選項,則預設返回-f選項的結果。

返回狀態為零,除非提供了無效的選項或引數,或者在設定新限制時發生錯誤。

shell內建命令

知識點1 什麼是shell內建命令?shell內建命令,就是由 bash 自身提供的命令,而不是檔案系統中的某個可執行檔案。內建命令與普通命令的性質是不一樣的,內建命令並不是某個外部檔案,只要在shell中就一定可以執行這個命令。知識點2 怎麼確定乙個命令是否是內建命令?使用type可以區分,例如c...

shell 內建命令 exec

exec 命令並不啟動新的 shell,而是用要被執行的命令替換當前的 shell 程序,並且將老程序的環境清理掉,exec 命令後的其它命令將不再執行。exec 在執行時會將當前的 shell process 關閉,然後切換到後面的命令繼續執行。在乙個 shell 中執行 exec ls,列出當前...

Shell內建命令簡介

shell內建命令是由bash自身提供的命令,而不是檔案系統中的某個可執行檔案。判斷乙個命令是否是內建命令可以通過type命令,如 type cd type date輸出分別為 cd is a shell builtin date is bin date可以看出cd是內建命令,而date是乙個外部檔...