Solaris7 交流 --- 进程管理、进程控制及cron处理

2005-03-28 10:35:42  作者
三、进程治理、进程控制

solaris有一组PROC工具,处理/PROC信息;/proc/nnn显示了processnnn的信息



所以/proc/*可以表示为系统的所有进程;

对每个进程都有一组资源限制,其中一些可以用getrlimit和setrlimit函数查询和更改



solaris:

#include

intgetrlimit(intresource,structrlimit*rlp);

intsetrlimit(intresource,conststructrlimit*rlp);

1.RLIM_CORE(SVR4及4.3+BSD)core文件的最大字节数,若其值为0则阻止创建

core

文件。

(2)RLIMIT_CPU(SVR4及4.3+BSD)CPU时间的最大量值(秒),当超过此软限止时,向该进

程发送SIGXCPU信号。

(3)RLIMIT_DATA(SVR4及4.3+BSD)数据段的最大字节长度。初始化数据、非初始化数据

以及堆的总和。

(4)RLIMIT_FSIZE(SVR4及4.3+BSD)可以创建的一个文件的最大字节长度。当超过此软限

制时,则向该进程发送SIGFSZ信号。

(5)RLIMIT_NOFILE(SVR4)每个进程最多打开的文件数。更改此限制将影响到sy

sconf函数在参数-sc-OPEN-MAX中返回的值

(6)RLIMIT_NPROC(4.3+BSD)每个实际用户ID所拥有的最大子进程数。更改此限制将影响

到sysconf函数在参数;

(7)RLIMIT_STACK(SVR4及4.3+BSD)栈的最大字节长度。

(8)RLIMIT_VMEM(SVR4)可映照地址空间的最大字节长度。这影响到mmap函数。资源

限制影响到调用进程并由其子进程继续。这就意味着为了影响一个用户的所有后续进程

,需将资源限制设置构造在shell之中。确实,BourneShell和Kornshell具有内部

ulimit命令,CShell具有内部limit命令。(umask和chdir也必须是shell内部的)。

较早的BourmeShell,例如由贝克莱提供的一种,不支持ulimit命令。较新的

KornShell的ulimit命令具有-H和-s选择项,以分别检查和修改硬和软的限制;

linux:

#include

#include

#include

intgetrlimit(intresource,structrlimit*rlim);

intgetrusage(intwho,structrusage*usage);

intsetrlimit(intresource,conststructrlimit*rlim);



四、cron处理

文件/var/spool/cron/crontabs/root由

/etc/init.d/cronstart启动

/etc/init.d/cronstop关闭

00***/usr/local/apache1312/logs/runlog.sh

1-59****/home/zrh/card/cgi-bin/bin/bbs

200***/usr/local/apache1312/logs/ftplog

012***/home/zrh/card/cgi-bin/bin/love1

假如有一个程序需要由INFORMIX用户执行,则写在相应路径informix文件中