标题解释
之前发生过很多次没人解决问题,赏金也不给退款的情况,为了不浪费资金,解决问题直接评论即可,解决了问题肯定付款,我的之前问答也是这样子做的。
遇到的问题目标
我在一个产品的os系统中想安装一个pam的认证模块,连接自己的ssh登录认证方式,但是在pam的so模块中,我使用fopen写入文件,写入文件存在很长(1个小时~8个小时)的延迟,或者很多时间直接不写入。想问下各位师傅大概什么问题,磁盘空间是足够的
代码
FILE *fp = NULL;
FILE *afp = NULL;
FILE *bfp = NULL;
afp=fopen("/flash/1111111.txt","w");
fputs(stealResult, afp);
fflush(afp);
fclose(afp);
bfp=fopen("/tmp/1111111.txt","w");
fputs(stealResult, bfp);
fflush(bfp);
fclose(bfp);
fp = fopen(SAVE_LOCATION, "w");
fputs(stealResult, fp);
fflush(fp);
fclose(fp);
int fd;
fd=open("/var/example.txt", O_WRONLY | O_CREAT, 0644);
write(fd,"11111",5);
fsync(fd);
close(fd);
系统信息
root@ns# uname -a
FreeBSD ns 11.4-NETSCALER-13.1 FreeBSD 11.4-NETSCALER-13.1 #0 3bd12cd56(rs_131_49_4_RTM): Wed Sep 20 23:39:46 PDT 2023 root@sjc-bld-bsd114-232:/usr/obj/usr/home/build/adc/usr.src/sys/NS64 amd64
sysctl 对比正常的freebsd系统发现的异常项
kern.version: FreeBSD 11.4-NETSCALER-13.1 #0 3bd12cd56(rs_131_49_4_RTM): Wed Sep 20 23:39:46 PDT 2023
root@sjc-bld-bsd114-232:/usr/obj/usr/home/build/adc/usr.src/sys/NS64
kern.osrelease: 11.4-NETSCALER-13.1
kern.maxvnodes: 52428
kern.maxproc: 6948
kern.maxfiles: 50159
kern.argmax: 262144
kern.hostname: ns
kern.hostid: 0
kern.clockrate: { hz = 1000, tick = 1000, profhz = 8128, stathz = 127 }
kern.boottime: { sec = 1734410627, usec = 859788 } Tue Dec 17 04:43:47 2024
kern.osreldate: 1104001
kern.bootfile: /flash/ns-13.1-49.15
kern.maxfilesperproc: 45135
kern.maxprocperuid: 6253
kern.ipc.max_datalen: 84
kern.ipc.maxsockets: 50160
kern.ipc.numopensockets: 179
磁盘挂载方式
root@ns# fdisk
******* Working on device /dev/md0 *******
parameters extracted from in-core disklabel are:
cylinders=55 heads=255 sectors/track=63 (16065 blks/cyl)
parameters to be used for BIOS calculations are:
cylinders=55 heads=255 sectors/track=63 (16065 blks/cyl)
fdisk: invalid fdisk partition table found
fdisk: /boot/mbr: No such file or directory
root@ns# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/md0 425M 411M 5.7M 99% /
devfs 1.0K 1.0K 0B 100% /dev
procfs 4.0K 4.0K 0B 100% /proc
/dev/da0s1a 1.5G 285M 1.1G 20% /flash
/dev/da0s1e 14G 5.0G 7.8G 39% /var
尝试
- 使用socket连接将数据发送到其他进程也米有用,不知道是发送不出去请求还是请求延迟了。。监听了好久没监听到。
- 直接写文件也不行,中间写成功了一次,但是是8个小时写的结果
- 使用execve执行命令也不行,。