Solaris7 交流 --- 進(jìn)程管理、進(jìn)程控制及cron處理
2024-07-26 00:29:56
供稿:網(wǎng)友
三、進(jìn)程管理、進(jìn)程控制
solaris有一組PROC工具,處理/PROC信息;/proc/nnn 顯示了process nnn 的信息
;
所以/proc/*可以表示為系統(tǒng)的所有進(jìn)程;
對每個(gè)進(jìn)程都有一組資源限制,其中一些可以用getrlimit和setrlimit函數(shù)查詢和更改
;
solaris:
#include
int getrlimit(int resource, struct rlimit *rlp);
int setrlimit(int resource, const struct rlimit *rlp);
1. RLIM_CORE(SVR4及4.3+BSD)core文件的最大字節(jié)數(shù),若其值為0則阻止創(chuàng)建
core
文件。
(2)RLIMIT_CPU(SVR4及4.3+BSD)CPU時(shí)間的最大量值(秒),當(dāng)超過此軟限止時(shí),向該進(jìn)
程發(fā)送SIGXCPU信號。
(3)RLIMIT_DATA(SVR4及4.3+BSD)數(shù)據(jù)段的最大字節(jié)長度。初始化數(shù)據(jù)、非初始化數(shù)據(jù)
以及堆的總和。
(4)RLIMIT_FSIZE(SVR4及4.3+BSD)可以創(chuàng)建的一個(gè)文件的最大字節(jié)長度。當(dāng)超過此軟限
制時(shí),則向該進(jìn)程發(fā)送SIGFSZ信號。
(5)RLIMIT_NOFILE(SVR4)每個(gè)進(jìn)程最多打開的文件數(shù)。更改此限制將影響到sy
sconf函數(shù)在參數(shù)-sc-OPEN-MAX中返回的值
(6)RLIMIT_NPROC(4.3+BSD)每個(gè)實(shí)際用戶ID所擁有的最大子進(jìn)程數(shù)。更改此限制將影響
到sysconf函數(shù)在參數(shù);
(7)RLIMIT_STACK(SVR4及4.3+BSD)棧的最大字節(jié)長度。
(8)RLIMIT_VMEM(SVR4)可映照地址空間的最大字節(jié)長度。這影響到mmap函數(shù)。資源
限制影響到調(diào)用進(jìn)程并由其子進(jìn)程繼承。這就意味著為了影響一個(gè)用戶的所有后續(xù)進(jìn)程
,需將資源限制設(shè)置構(gòu)造在shell之中。確實(shí),Bourne Shell和Kornshell具有內(nèi)部
ulimit命令,CShell具有內(nèi)部limit命令。(umask和chdir也必須是shell內(nèi)部的)。
較早的Bourme Shell,例如由貝克萊提供的一種,不支持ulimit命令。較新的
KornShell的ulimit命令具有-H和-s選擇項(xiàng),以分別檢查和修改硬和軟的限制;
linux:
#include
#include
#include
int getrlimit (int resource, struct rlimit *rlim);
int getrusage (int who, struct rusage *usage);
int setrlimit (int resource, const struct rlimit *rlim);
四、cron處理
文件:/var/spool/cron/crontabs/root由
/etc/init.d/cron start啟動(dòng)
/etc/init.d/cron stop關(guān)閉
0 0 * * * /usr/local/apache1312/logs/runlog.sh
1-59 * * * * /home/zrh/card/cgi-bin/bin/bbs
20 0 * * * /usr/local/apache1312/logs/ftplog
0 12 * * * /home/zrh/card/cgi-bin/bin/love1
如果有一個(gè)程序需要由INFORMIX用戶執(zhí)行,則寫在相應(yīng)路徑informix文件中