cat a | grep -E "[a-z]{5,}"
2. $ find / -name "test.c" -type f -mtime +3 -user greek -exec rm {} \的含义。
找出并且删除根目录及其子目录下 所有文件名为test.c的普通的文本文件 ,且该文件的最后修改时间以当前时间为参照大于3天时间
3. 在一个程序崩溃时,它一般会在指定目录下生成一个core文件。如果没生成core文件,可能是什么原因?怎么解决?
答:用“ulimit -c”命令查看当前系统设置的core文件的大小门限值
一般情况是core文件的大小超过了这个值
执行 “ulimit -c unlimited”命令后,操作系统不在限制core文件大小,或者把unlimited 替换成一个适当的值。
4. 执行命令 ls –l 时,某行显示如下:
-rw-r--r-- 1 chris chris 207 jul 20 11:58 mydata
(1)用户chris对该文件具有什么权限?
答:chris对mydata文件具有读写的权限
(2)如何使任何用户都可以读写执行该文件?
答:chmod 777 mydata
5. 大学校门处要求来客登记,只有一张登记表,登记表同时只能由一个人使用,用P、V原语描述一个校外人员进入大学的过程。
三、程序填空题(每小题10分,共20分)1.阅读下面程序,请将其补充完整。
#define SHMDATASIZE 1000//共享内存大小,以字节为单位
void server(void)
{
union semun sunion
int semid, shmid
void *shmdata
char *buffer
semid=semget(_________________)//创建两个信号量
sunion.val=1
semctl(____________________)//设置信号量编号为0的值
sunion.val=0semctl(____________________)//设置信号量编号为1的值
shmid=shmget(____________________)
shmdata=shmat(___________________)
*(int *)shmdata=semid
buffer=shmdata+sizeof(int)
printf("Server is running with SHM id ** %d**\n", shmid)}
2.阅读下面程序,请将其补充完整。
#define BUFFERSIZE 1024
void locksem(int semid, int semnum)
{
struct sembuf sb
sb.sem_num=semnum
sb.sem_op=________//P操作
sb.sem_flg=SEM_UNDO
semop(_______________________)
}
void unlocksem(int semid, int semnum)
{
struct sembuf sb
sb.sem_num=semnum
sb.sem_op=________//V操作
sb.sem_flg=SEM_UNDO
semop(______________________)
}
void clientwrite(int semid, char *buffer){
locksem(semid, 0)
printf("Enter Message: ")
fgets(_______________)//从键盘输入一个字符串
unlocksem(semid, 1)
}
四、阅读程序题(共3小题,每小题10分,共30分)
1. 运行下面程序,最多运行多少个进程?画出进程家族树。
#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"
int main()
{
pid_t pid1
pid_t pid2
pid1 = fork()
pid2 = fork()
}
答最多有4个进程
首先第一次调用fork 主进程会产生一个pid1的子进程
然后pid1和主进程会分别调用一次pid2 = fork()分别再产生一个子进程因此一共最多4个进程
2. 下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。
#!/bin/bash #(1)定义该shell脚本由哪中类型的shell解释器解析
dir=$1#(2)将shell程序的第一个命令行参数付给变量dir
if [ -d $dir ]#(3)判断dir的值是否是一个目录
then cd $dir #(4)如果dir是目录则进入该目录
for file in *
do
if [-f $file ]#(5)判断file是否为一个文件
then
cat $file #(6)打开文件,将文件内容输出到标准输出流中
echo “end of file $file”
fi
done
else
echo “bad directory name $dir”
fi
3. 阅读Makefile文件,回答以下问题:
(1) 此Makefile文件的主要功能是什么?
编译f1.c f2.c f3.c三个文件,最终生成动态链接库libmys.so
(2) 此Makefile文件包含多少个规则?它们分别是什么?
包含4个规则
第一个 “TGT = $(patsubst %.c, %.o, $(SRC))”
将$(SRC)目录下的所有以.c为后缀的文件替换成.o结尾,且存入TGT变量中
第二个 “%.o : %.c
cc -c $<”
用cc命令依次将三个源文件编译成目标文件
第三个
libmys.so : $(TGT)
cc -shared -o $@ $(TGT)
用上一步生成的3个中间文件生成动态链接库libmys.so
第四个
clean:
rm -f $(TGT)
执行 make clean 后 会删除所有的中间文件即.o文件
(3) 使用此Makefile文件可以生成目标文件f2.o吗?为什么?
答:可以,因为该makefile的逻辑是先生成所有的.o文件,然后再生成动态链接库。
all : libmys.so
SRC = f1.c f2.c f3.c
TGT = $(patsubst %.c, %.o, $(SRC))
%.o : %.c
cc -c $<
libmys.so : $(TGT)
cc -shared -o $@ $(TGT)
clean:
rm -f $(TGT)
编程题没做,楼主一、见谅,有时间做了补充下答案
windows蓝屏错误代码查询数值叙述
00x0000作业完成。
10x0001不正确的函数。
20x0002系统找不到指定的档案。
30x0003系统找不到指定的路径。
40x0004系统无法开启档案。
50x0005拒绝存取。
60x0006无效的代码。
70x0007储存体控制区块已毁。
80x0008储存体空间不足,无法处理这个指令。
90x0009储存体控制区块位址无效。
100x000a环境不正确。
110x000b尝试载入一个格式错误的程式。
120x000c存取码错误。
130x000d资料错误。
140x000e储存体空间不够,无法完成这项作业。
150x000f系统找不到指定的磁碟机。
160x0010无法移除目录。
170x0011系统无法将档案移到其他的磁碟机。
180x0012没有任何档案。
190x0013储存媒体为防写状态。
200x0014系统找不到指定的装置。
210x0015装置尚未就绪。
220x0016装置无法识别指令。
230x0017资料错误(cyclicredundancycheck)
240x0018程式发出一个长度错误的指令。
250x0019磁碟机在磁碟找不到持定的磁区或磁轨。
260x001a指定的磁碟或磁片无法存取。
270x001b磁碟机找不到要求的磁区。
280x001c印表机没有纸。
290x001d系统无法将资料写入指定的磁碟机。
300x001e系统无法读取指定的装置。
310x001f连接到系统的某个装置没有作用。
320x0020theprocesscannotaccessthefilebecauseitisbeingusedbyanotherprocess.
330x0021档案的一部份被锁定,现在无法存取。
340x0022磁碟机的磁片不正确。请将%2(volumeserialnumber:%3)插入磁碟机%1。
360x0024开启的分享档案数量太多。
380x0026到达档案结尾。
390x0027磁碟已满。
500x0032不支援这种网路要求。
510x0033远端电脑无法使用。
520x0034网路名称重复。
530x0035网路路径找不到。
540x0036网路忙碌中。
550x0037thespecifiednetworkresourceordeviceisnolongeravailable.
560x0038thenetworkbioscommandlimithasbeenreached.
570x0039网路配接卡发生问题。
580x003a指定的伺服器无法执行要求的作业。
590x003b网路发生意外错误。
600x003c远端配接卡不相容。
610x003d印表机伫列已满。
620x003e伺服器的空间无法储存等候列印的档案。
630x003f等候列印的档案已经删除。
640x0040指定的网路名称无法使用。
650x0041拒绝存取网路。
660x0042网路资源类型错误。
670x0043网路名称找不到。
680x0044超过区域电脑网路配接卡的名称限制。
690x0045超过网路bios作业阶段的限制。
700x0046远端伺服器已经暂停或者正在起始中。
710x0047由于连线数目已达上限,此时无法再连线到这台远端电脑。
720x0048指定的印表机或磁碟装置已经暂停作用。
800x0050档案已经存在。
820x0052无法建立目录或档案。
830x0053int24失败
840x0054处理这项要求的储存体无法使用。
850x0055近端装置名称已经在使用中。
860x0056指定的网路密码错误。
870x0057参数错误。
880x0058网路发生资料写入错误。
890x0059此时系统无法执行其他行程。
1000x0064无法建立其他的系统semaphore。
1010x0065属于其他行程专用的semaphore。
1020x0066semaphore已经设定,而且无法关闭。
1030x0067无法指定semaphore。
1040x0068在岔断时间无法要求专用的semaphore。
1050x0069此semaphore先前的拥有权已经结束。
1060x006a请将磁片插入%1。
1070x006b因为代用的磁片尚未插入,所以程式已经停止。
1080x006c磁碟正在使用中或被锁定。
1090x006dpipe已经中止。
1100x006e系统无法开启指定的装置或档案。
1110x006f档名太长。
1120x0070磁碟空间不足。
1130x0071没有可用的内部档案识别字。
1140x0072目标内部档案识别字不正确。
1170x0075由应用程式所执行的ioctl呼叫不正确。
1180x0076写入验证参数值不正确。
1190x0077系统不支援所要求的指令。
1200x0078此项功能仅在win32模式有效。
1210x0079semaphore超过逾时期间。
1220x007a传到系统呼叫的资料区域太小。
1230x007b档名、目录名称或储存体标签语法错误。
1240x007c系统呼叫层次不正确。
1250x007d磁碟没有设定标签。
1260x007e找不到指定的模组。
1270x007f找不到指定的程序。
1280x0080没有子行程可供等待。
1290x0081%1这个应用程式无法在win32模式下执行。
1300x0082attempttouseafilehandletoanopendiskpartitionforanoperationotherthanrawdiski/o.
1310x0083尝试将档案指标移至档案开头之前。
1320x0084无法在指定的装置或档案,设定档案指标。
1330x0085join或subst指令无法用于内含事先结合过的磁碟机。
1340x0086尝试在已经结合的磁碟机,使用join或subst指令。
1350x0087尝试在已经替换的磁碟机,使用join或subst指令。
1360x0088系统尝试删除未连结过的磁碟机的连结关系。
1370x0089系统尝试删除未替换过的磁碟机的替换关系。
1380x008a系统尝试将磁碟机结合到已经结合过之磁碟机的目录。
1390x008b系统尝试将磁碟机替换成已经替换过之磁碟机的目录。
1400x008c系统尝试将磁碟机替换成已经替换过之磁碟机的目录。
1410x008d系统尝试将磁碟机subst成已结合的磁碟机目录。
1420x008e系统此刻无法执行join或subst。
1430x008f系统无法将磁碟机结合或替换同一磁碟机下目录。
1440x0090这个目录不是根目录的子目录。
1450x0091目录仍有资料。
1460x0092指定的路径已经被替换过。
1470x0093资源不足,无法处理这项指令。
1480x0094指定的路径这时候无法使用。
1490x0095尝试要结合或替换的磁碟机目录,是已经替换过的的目标。
1500x0096config.sys档未指定系统追踪资讯,或是追踪功能被取消。
1510x0097指定的semaphore事件dosmuxsemwait数目不正确。
1520x0098dosmuxsemwait没有执行;设定太多的semaphore。
1530x0099dosmuxsemwait清单不正确。
1540x009a您所输入的储存媒体标元长度限制。
1550x009b无法建立其他的执行绪。
1560x009c接收行程拒绝接受信号。
1570x009d区段已经被舍弃,无法被锁定。
1580x009e区段已经解除锁定。
1590x009f执行绪识别码的位址不正确。
1600x00a0传到dosexecpgm的引数字串不正确。
1610x00a1指定的路径不正确。
1620x00a2信号等候处理。
1640x00a4系统无法建立执行绪。
1670x00a7无法锁定档案的部份范围。
1700x00aa所要求的资源正在使用中。
1730x00ad取消范围的锁定要求不明显。
1740x00ae档案系统不支援自动变更锁定类型。
1800x00b4系统发现不正确的区段号码。
1820x00b6作业系统无法执行%1。
1830x00b7档案已存在,无法建立同一档案。
1860x00ba传送的旗号错误。
1870x00bb指定的系统旗号找不到。
1880x00bc作业系统无法执行%1。
1890x00bd作业系统无法执行%1。
1900x00be作业系统无法执行%1。
1910x00bf无法在win32模式下执行%1。
1920x00c0作业系统无法执行%1。
1930x00c1%1不是正确的win32应用程式。
1940x00c2作业系统无法执行%1。
1950x00c3作业系统无法执行%1。
1960x00c4作业系统无法执行这个应用程式。
1970x00c5作业系统目前无法执行这个应用程式。
1980x00c6作业系统无法执行%1。
1990x00c7作业系统无法执行这个应用程式。
2000x00c8程式码的区段不可以大于或等于64kb。
2010x00c9作业系统无法执行%1。
2020x00ca作业系统无法执行%1。
2030x00cb系统找不到输入的环境选项。\r
2050x00cd在指令子目录下,没有任何行程有信号副处理程式。
2060x00ce档案名称或副档名太长。
2070x00cfring2堆叠使用中。
2080x00d0输入的通用档名字元*或?不正确,或指定太多的通用档名字元。
2090x00d1所传送的信号不正确。
2100x00d2无法设定信号处理程式。
2120x00d4区段被锁定,而且无法重新配置。
2140x00d6附加到此程式或动态连结模组的动态连结模组太多。
2150x00d7can’’’’’’’’tnestcallstoloadmodule.
2300x00e6thepipestateisinvalid.
2310x00e7所有的pipeinstances都在忙碌中。
2320x00e8thepipeisbeingclosed.
2330x00e9noprocessisontheotherendofthepipe.
2340x00ea有更多可用的资料。
2400x00f0作业阶段被取消。
2540x00fe指定的延伸属性名称无效。
2550x00ff延伸的属性不一致。
2590x0103没有可用的资料。
2660x010a无法使用copyapi。
2670x010b目录名称错误。
2750x0113延伸属性不适用于缓冲区。
2760x0114在外挂的档案系统上的延伸属性档案已经毁损。
2770x0115延伸属性表格档满。
2780x0116指定的延伸属性代码无效。
2820x011a外挂的这个档案系统不支援延伸属性。
2880x0120意图释放不属于叫用者的mutex。
2980x012asemaphore传送次数过多。
2990x012b只完成read/writeprocessmemory的部份要求。
3170x013d系统找不到位于讯息档%2中编号为0x%1的讯息。
4870x01e7尝试存取无效的位址。
5340x0216运算结果超过32位元。
5350x0217通道的另一端有一个行程在接送资料。
5360x0218等候行程来开启通道的另一端。
9940x03e2存取延伸的属性被拒。
9950x03e3由于执行绪结束或应用程式要求,而异常终止i/o作业。
9960x03e4重叠的i/o事件不是设定成通知状态。
9970x03e5正在处理重叠的i/o作业。
9980x03e6对记忆体位置的无效存取。
9990x03e7执行inpage作业发生错误。
10010x03e9递回太深,堆叠满溢。
10020x03ea视窗无法用来传送讯息。
10030x03eb无法完成这项功能。
10040x03ec旗号无效。
10050x03ed储存媒体未含任何可辨识的档案系统。请确定以载入所需的系统驱动程式,而且该储存媒体并未毁损。
10060x03ee储存该档案的外部媒体发出警告,表示该已开启档案已经无效。
10070x03ef所要求的作业无法在全萤幕模式下执行。
10080x03f0anattemptwasmadetoreferenceatokenthatdoesnotexist.
10090x03f1组态系统登录资料库毁损。
10100x03f2组态系统登录机码无效。
10110x03f3无法开启组态系统登录机码。
10120x03f4无法读取组态系统登录机码。
10130x03f5无法写入组态系统登录机码。
10140x03f6系统登录资料库中的一个档案必须使用记录或其他备份还原。已经还原成功。
10150x03f7系统登录毁损。其中某个档案毁损、或者该档案的系统映对记忆体内容?
10160x03f8系统登录起始的i/o作业发生无法复原的错误。系统登录无法读入、写内含系统登录在记忆体中的内容。
10170x03f9系统尝试将档案载入系统登录或将档案还原到系统登录中,但是,指定档案的格式不是系统登录档的格式。
10180x03fa尝试在标示为删除的系统登录机码,执行不合法的操作。
10190x03fb系统无法配置系统登录记录所需的空间。
10200x03fc无法在已经有子机码或数值的系统登录机码建立符号连结。
10210x03fd无法在临时机码下建立永久的子机码。
10220x03fe变更要求的通知完成,但资讯并未透过呼叫者的缓冲区传回。呼叫者现在需要自行列举档案,找出变更的地方。
10510x041b停止控制已经传送给其他服务所依峙的一个服务。
10520x041c要求的控制对此服务无效
10530x041dtheservicedidnotrespondtothestartorcontrolrequestinatimelyfashion.
10540x041e无法建立服务的执行绪。
10550x041f服务资料库被锁定。
10560x0420这种服务已经在执行。
10570x0421帐户名称错误或者不存在。
10580x0422指定的服务暂停作用,无法启动。
10590x0423指定循环服务从属关系。
10600x0424指定的服务不是安装进来的服务。
10610x0425该服务项目此时无法接收控制讯息。
10620x0426服务尚未启动。
10630x0427无法连线到服务控制程式。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)