仿照redis写的nginx开机画面
redis有一个开机画面:
下面是我写的的nginx开机画面:
新建一个文件 asciilogo.h
//仿照redis风格打印一个logo,这样启动的时候就不会不注意
char *ascii_logo =
" \n"
"%s Port: %d PID: %ld http://nginx.org/ \n"
" \n"
".121 .22, ,22222222222, ,22, 121. 121 .22, ,22, \n"
"366641 4666, 156666666666662 .5665. 16663 156662 46664, ,36665. \n"
"36656641 4666, 15664222222236662 .5665. 16663 .25666562 .2566641 ,366663, \n"
"3656566641 4666, 15563 25561 .5555. 16663 .256665HM62 .25666411466653. \n"
"366621466652. 4666, 16653 .......,,,,.. ,,,, 16663 .256664,36662 .2466666652. \n"
"36661 1466652. 4666, .4665, 3666666555555, .5555. 16563 .356664, 26662 26566563 \n"
"36661 14666535666, .4665, 254444456665, .5665. 16664356664, 26562 146665466652. \n"
"36561 ,46665566, .4665, ,4665, .5665. 166566653, 26662 1566652 1466652. \n"
"46661 ,366666, .466544444445665, .5665. 1656653, 26663 2566641 1466653. \n"
"2565, ,3564. .4566666666664, 4664. ,5653. 15651 36641 ,4564. \n";
修改nginx.c
#include "asciilogo.h" //printf("%s\n",ascii_logo);char *buf = malloc(1024*16);//int port=ntohs(((struct sockaddr_in *)((ngx_listening_t *)cycle->listening.elts)[0].sockaddr)->sin_port);ngx_listening_t *ls=(ngx_listening_t *)cycle->listening.elts;int port=ntohs(((struct sockaddr_in *)(ls[0].sockaddr))->sin_port);snprintf(buf,1024*16,ascii_logo,NGINX_VER,port,(long) getpid());printf("%s\n", buf);if (ngx_process == NGX_PROCESS_SINGLE) {ngx_single_process_cycle(cycle);} else {ngx_master_process_cycle(cycle);}return 0;
获取nginx端口:
ntohs(((struct sockaddr_in *)((ngx_listening_t *)cycle->listening.elts)[0].sockaddr)->sin_port);
注意:最好不要用一句长句,不然报错了都不容易发现。
之前在gdb下可以打印出数据:
然后我就直接将这局拷贝到nginx.c中,因为语法上多了个*,所以怎么也编译不过去。所以我就非常不解。
然后,只好把长句分开一句句从最里面开始试,后来成功了,其实已经去掉了*,只是自己没注意到。
但是我还是想知道长句为什么不行,后来QQ群里有人告诉我:
所以这个事儿得出一些结论:
第一:避免使用长句;
第二:不要太相信gdb的表达式,因为他可能做了所谓的小动作;
第三:自己使用gdb的时候尽量用正确的语法,不要乱加*
相关文章:

房子成焦点,被挂马的房产网站仍在增加中
统计发现,近期大部分使用极光漏洞挂马,这个漏洞实在是太好用了。没打补丁,没装网盾,按网马广告上说的,有不弹、不卡、不闪三大“优点”,点击挂马网页会中招。今天新增被挂马的知名房产网站列表(…
检测、量化、追踪新冠病毒,基于深度学习的自动CT图像分析有多靠谱?
作者 | Ophir Gozes, Maayan Frid-Adar等译者 | 刘畅出品 | AI科技大本营(ID:rgznai100)背景:新冠病毒的传播非常迅速,并对数十亿人的生活产生了重大影响。由于非对称胸部CT已被证明是检测、量化和追踪该疾病的有效工具࿰…

关于产品体验以及产品会被抄袭的思考
一个好产品本来可以以免费让用户注册为开始吸引用户并从而能引导用户进行消费和购买的;但是由于可能考虑到当前这个产品可能会被别人抄袭,从而设定了门槛,然后营销团队进行沟通,和别人说当前的产品是多么多么的好,从而…

Linux socket 网络编程 常用头文件
一 三种类型的套接字:1.流式套接字(SOCKET_STREAM)提供面向连接的可靠的数据传输服务。数据被看作是字节流,无长度限制。例如FTP协议就采用这种。2.数据报式套接字(SOCKET_DGRAM)提供无连接的数据传输服务,…

达摩院实现自动驾驶核心技术突破,达摩院首次实现3D物体检测精度与速度的兼得
阿里巴巴达摩院在自动驾驶3D物体检测领域取得了新突破!达摩院近期一篇论文入选计算机视觉顶会CVPR 2020,该论文提出了一个通用、高性能的自动驾驶检测器,首次实现3D物体检测精度与速度的兼得,有效提升自动驾驶系统安全性能。目前&…

$httpprovider指令中拦截器interceptors的使用介绍
2019独角兽企业重金招聘Python工程师标准>>> $http服务允许我们使用http请求和后台做通信,但是在每一次放松请求之前我们都希望能够捕捉这个请求并且进行操作,比如之前富瑞中每一个请求中header要放入用户名和密码一样,富瑞的做法…

bzero, memset ,setmem 区别
bzero 原型:extern void bzero(void *s, int n);用法:#include <string.h> 功能:置字节字符串s的前n个字节为零。 说明:bzero无返回值。 举例: // bzero.c #include <sysl…
了解这4个重点,带你探索未来将如何设计智能系统和机器人!
作者 | Himanshu Ragtah 译者 | 天道酬勤 责编 | 徐威龙 出品 | AI科技大本营(ID:rgznai100) 到目前为止,为智能系统设计零件需要从头开始构建零件。从2D草图到可以根据给定的成本、材料和最大重量限制制造的可行且坚固的零件。这通常需要几天…

静态路由和默认路由的配置实例
RTA的配置:interface FastEthernet0/0ip address 1.1.1.2 255.255.255.252duplex autospeed auto!interface FastEthernet0/1no ip addressduplex autospeed autoshutdown!interface FastEthernet1/0ip address 10.10.10.1 255.255.255.0duplex autospeed auto!inte…

Centos运行级别和开机过程
一、Linux运行级别1)0:关机2)1:单用户3)2:多用户状态没有网络服务4)3:多用户状态有网络服务5)4:系统未使用保留给用户6)5:图形界面7&a…

PHP FPM设置
php-fpm启动 拷贝启用文件 # cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm 启动 # /etc/init.d/php-fpm 重启 # killall php-fpm # /etc/init.d/php-fpm ------------------------ 进程不够就会起新,新的不能超过pm.max_children; 但是新的也会变为…

MySQL的binarylog处理
繁忙中測試新到的服務器,調試優化app,再加上月底公司搬家,很多配置都要更改。早上不經意telnet改dns的時候發現MySQL日誌很大了。。。 奇怪,我設置過的都改過了。。後來發現這台是子公司帶過來的機器。。。。以前那幾台都沒寫過配…
IJCAI 2020灭霸式拒稿,AI审稿是否更公平?
来源 | 数据派 THU编辑 | 文婧出品 | AI科技大本营(ID:rgznai100)一、IJCAI 2020灭霸式拒稿引众怒随着AAAI 2020于2月7日作为2020年人工智能学界的第一个顶会在美国纽约开幕,人工智能相关领域的研究者们又要为新一年的顶会忙碌了。对于AI界的…

ASP.NET MVC 中将FormCollection与实体间转换方法
http://blog.csdn.net/lutinghuan/article/details/8449296 将Action动作中传递的FormCollection转变成对应的实体,可以使用Controller的TryUpdateModel()方法。 示例如下: [csharp] view plaincopy [HttpPost] public ActionResult Create(FormCollect…
增量学习不只有finetune,三星AI提增量式少样本目标检测算法 | CVPR 2020
作者 | VincentLee来源 | 晓飞的算法工程笔记该论文研究了非常有意义的增量式少样本目标检测场景iFSD(Incremental Few-Shot Detection),场景设置如下:检测模型可以在包含充足样本的基础类别上进行训练训练好后,iFSD能够应用到真实世界中&…

修改Linux内核参数提高服务器并发能力
1.参数设置 查看相关的参数 sysctl -a|grep tcp_keepalive net.ipv4.tcp_keepalive_intvl 30 net.ipv4.tcp_keepalive_probes 2 net.ipv4.tcp_keepalive_time 160 设置相关的参数 sysctl -w net.ipv4.tcp_keepalive_time 7500 也可以直接打开 # vim/etc/sysctl.conf 加入ne…

GPS小车移动应用程序
//用于desktop部署private void btnInitializeObjects_Click(object sender, System.EventArgs e){Catalog Cat MapInfo.Engine.Session.Current.Catalog; //创建临时层TableInfoMemTable tblInfoTemp new TableInfoMemTable("Animation");Table tblTemp Cat.GetT…

iOS网络-NSURLSessionDataTask大文件离线断点下载
什么叫离线断点下载,就是用户下载中关闭程序重新打开可以继续下载 代码实现如下: #import "ViewController.h" interface ViewController ()<NSURLSessionDataDelegate> //输出流 property (nonatomic, strong) NSOutputStream *stream ; //Task对象 property …

fcntl使用
1、获取文件的flags,即open函数的第二个参数: flags fcntl(fd,F_GETFL,0); 2、设置文件的flags: fcntl(fd,F_SETFL,flags); 3、增加文件的某个flags,比如文件是阻塞的,想设置成非阻塞: flags fcntl(fd,F_GETFL,0)…

两次关于软考网络工程师的经历
考过两次软考网络工程师,第一次没怎么准备,稀里糊涂参加考试,下午差几分;第二次痛定思痛,好好的分析了下试题,上午61,下午49,下午只写了30分钟左右,因为觉得自己过的了了…
“不会数学,干啥都不行!”骨灰级程序员:你方向不对,努力也白费!
最近半年来,我们收到了很多留言,有很多都是相似的问题:1)数学不好搞编程好难,因为数据结构、编程语句、算法,核心原理都是数学。而且光会基础数学远远不够,还需要概率论,微积分、优化…

重新安装nginx注意事项
记得清理/etc/nginx/sites-enabled/default转载于:https://www.cnblogs.com/xiangnan/p/5146775.html
2020年,5种将死的编程语言
来源 | 码农网 译者 | 小峰曾几何时,几乎每个人都在使用Perl语言编程。但是那些经常使用的人慢慢地发现,关于这个Perl语言似乎总是有点不对劲。至少我知道有这么个叫做“piecemeal”的编程语言,它的创造者似乎就只是将这个功能堆在另一个功能…

关于 ulimit -SHn 65535
使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。 新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到error: too many open files。因此,需要将其改大。 使用 ulimit -n 65…

Could not load file or assembly App_Licenses.dll的问题
今天在AspDotNetStorefront做定制化开发,编译的时候莫名其妙地报告Could not load file or assembly App_Licenses, Version0.0.0.0, Cultureneutral, ... (Exception from HRESULT: 0x80070057 (E_INVALIDARG))的错误,检查文件系统,发现文件…
Docker 用法总结之:管理工具 shipyard 的具体使用指南
Docker 的命令行就已经非常好用了,假设非要加上基于 Web 的管理界面的话也有一些选择,如 DockerUI (Angular.js), Dockland (Ruby), Shipyard (Python/Django) 等。只是眼下来看 Shipyard 项目要活跃一点,Shipyard 支持多 host,能…

轻量级简单队列服务HTTPSQS安装与使用
原文地址:http://blog.s135.com/httpsqs 1.安装 wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz tar zxvf libevent-2.0.12-stable.tar.gz cd libevent-2.0.12-stable/ ./configure --prefix/usr/local/libevent-2.0.12-stable/ make…
GitHub移动端正式发布
整理 | 郭芮图源 | 视觉中国出品 | CSDN(ID:CSDNnews)在去年的 Universe 大会上,GitHub 推出了尚处于 Beta 阶段的移动版客户端(GitHub for mobile),支持 iOS 和 Android 两大主流移动平台。时隔…

手机的定制化需求
根据自身的市场需求,文化环境,业务定位等诸多因素,运营商会对手机提出定制化要求,并指定相应的手机规范。随着差异化竞争和精益经营的不断提高,由运营商提出的手机规范也越来越复杂。据不完全统计(图10-1&a…

oracle 9i 安装及连接远程数据库
用oracle 11g很久了,真的感觉是一个很重量级的客户端,安装都要一个多小时,最近刚开始接触这种精简版的数据库客户端,捣鼓了半天,总算成功。 1.下载客户端 2.安装 傻瓜式安装即可,记得自己的路径。 3.配置环…