hogports.c
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 72 行
C
72 行
#include <u.h>#include <libc.h>voidhogport(char *proto, int port){ char buf[256]; char dir[40]; snprint(buf, sizeof(buf), "%s!%d", proto, port); if(announce(buf, dir) < 0) fprint(2, "%s: can't hog %s\n", argv0, buf);}voidhogrange(char *str){ char *er, *sr; int start, end; sr = strrchr(str, '!'); if(sr == nil) sysfatal("bad range: %s", str); *sr++ = 0; er = strchr(sr, '-'); if(er == nil) er = sr; else er++; start = atoi(sr); end = atoi(er); if(end < start) sysfatal("bad range: %s", sr); for(; start <= end; start++) hogport(str, start);}voidmain(int argc, char **argv){ int i; ARGBEGIN{ }ARGEND; if(argc == 0){ fprint(2, "usage: %s portrange\n", argv0); exits("usage"); } switch(rfork(RFREND|RFNOTEG|RFFDG|RFPROC|RFNAMEG)){ case 0: close(0); close(1); break; case -1: abort(); /* "fork failed\n" */; default: _exits(0); } for(i = 0; i < argc; i++) hogrange(argv[i]); close(2); for(;;) sleep(10000);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?