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是乙個外部檔...