cfanzp

Linux开发笔记

ubuntu-远程连接windows的几种方法

ubuntu 远程连接windows的几种方法 1. 使用rdesktop 安装 1 sudo apt install rdesktop 使用举例 1 rdesktop -g 1024x768 -a 16 -u Administrator -p your_password -0 192.168.2.189:3389 常用使用参数 1 2 3 4 5 6 7 8 9 -f 全屏 -g 桌面大小 -a 16 16位色深 -u 用户名 -p 密码 -r clipboard 表示允许在远程主机和本机之间共享剪切板,可以复制粘贴 -r clipboard:PRIMARYCLIPBOARD 共享剪贴板,连接到window7 -r disk:share=/home 共享/home目录 ctrl+alt+enter 退出全屏 使用rdesktop常见问题 1. 连接失败,提示如下: 1 2 3 4 5 6 7 Connecting to server using NLA... Core(warning): Certificate received from server is NOT trusted by this system, an exception has been added by the user to trust this specific certificate.

skynet-skynet目录结构

【skynet学习笔记】skynet的目录结构 skynet目录结构 学习skynet必须先了解一下skynet的目录结构。 skynet的目录结构十分清晰,一目了然。 下面来具体看看各个目录。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [root@lzw skynet]# tree -f -L 1 . ├── ./3rd ├── ./cservice ├── ./examples ├── ./HISTORY.md ├── ./LICENSE ├── ./luaclib ├── ./lualib ├── ./lualib-src ├── ./Makefile ├── ./platform.mk ├── ./README.md ├── ./service ├── ./service-src ├── ./skynet ├── ./skynet-src └── ./test 目录结构分析 3rd目录 ./3rd:存放第三方库里面包括了:jemalloc,lpeg,lua,lua-md5 jemalloc:是个内存管理库,可以提高内存是利用率,减少内存碎片。skynet中可以通过编译选项来决定是否使用这个库。 lpeg:是一个模式匹配库。 lua:lua源代码,目前skynet1.5.0用的lua版本是5.4.4。 lua-md5:一个lua的md5库。 1 2 3 4 5 6 [root@lzw skynet]# tree -f -L 1 3rd/ 3rd ├── 3rd/jemalloc ├── 3rd/lpeg ├── 3rd/lua └── 3rd/lua-md5 cservice目录 cservice目录存放c语言实现的skynet服务 1 2 3 4 5 6 [root@lzw skynet]# tree -f -L 1 cservice/ cservice ├── cservice/gate.

mac-如何让terminal中能够看到不同的颜色?

mac-如何让terminal中能够看到不同的颜色? 为什么要配置终端配色? 终端对不通类型的文件进行配色能够方便我们通过颜色区分文件夹,脚本文件,图片文件等,大大提高了寻找文件的效率。 如何配置? 使用vim打开文件~/.bash_profile,在最后加入如下代码: 1 2 3 4 5 alias ll='ls -la' # 命令别名 #export LS_OPTIONS='--color=auto' # 如果没有指定,则自动选择颜色 export CLICOLOR='Yes' # 是否输出颜色 export LSCOLORS='ExGxFxdaCxDaDahbadacec' # 指定颜色 export PS1="\[\033[01;31;01m\][\u@\h \W]\$\[\033[01;00;00m\] " # 指定命令行提示符的颜色为红色 加完后不会立即生效,立即生效请执行: 1 source ~/.bash_profile 参考 https://www.cnblogs.com/FengZeng666/p/16026268.html

skynet-debug_console 简介

skynet debug_console 简介 skynet 自带了一个调试控制台服务。 1 skynet.newservice("debug_console",8000) 这里的示例是监听 8000 端口,你可以修改成别的端口。 出于安全考虑,调试控制台只能监听本地地址 127.0.0.1。 所以如果需要远程使用,需要先登录到本机,然后再连接。 可以用 telnet 或 nc 登录调试控制台。启动后会显示 Welcome to skynet console 表示连接成功。 由于 skynet 使用自己的 IO 库,所以很难把 libreadline 接入(不能在 readline 的 hook 中 yield)。 如果你希望在控制台中使用 readline 的 history 等特性,可以自己使用 rlwrap 。 输入 help 可以列出目前支持的所有指令。 这份文档可能落后于实际版本,所以应以 help 列出的指令为准。 命令的一般格式是 命令 地址 ,有些命令不带地址,会针对所有的服务。 当输入地址时,可以使用 :00000001 这样的格式指代一个服务地址. 服务地址:由冒号开头的8位16进制数字, 前面两个数字的 harbor id, 01000001 可以简写为 1 。 所有活动的服务可以输入 list 列出。 常用的针对所有 lua 服务的指令有: 命令 作用 list 列出所有服务,以及启动服务的命令参数。 gc 强制让所有 lua 服务都执行一次垃圾回收,并报告回收后的内存。 mem 让所有 lua 服务汇报自己占用的内存。(注:它只能获取 lua 服务的 lua vm 内存占用情况,如果需要 C 模块中内存使用报告,请参考 MemoryHook 。 stat 列出所有 lua 服务的消息队列长度,以及被挂起的请求数量,处理的消息总数。如果在 Config 里设置 profile 为 true ,还会报告服务使用的 cpu 时间。 service 列出所有的唯一 lua 服务。并显示出请求还不存在的服务被挂起的请求。 netstat 列出网络连接的概况。 注意,由于这些指令是挨个向每个服务发送消息并等待回应,所以当某个 lua 服务过载时,可能需要等待很长时间才有返回。 针对单个 lua 服务的指令有: 命令 作用 exit address 让一个 lua 服务退出。 kill address 强制中止一个 lua 服务。 info address 让一个 lua 服务汇报自己的内部信息,参见 Profile 。 signal address sig 向服务发送一个信号,sig 默认为 0 。 当一个服务陷入死循环时,默认信号会打断正在执行的 lua 字节码,并抛出 error 显示调用栈。这是针对 endless loop 的 log 的有效调试方法。注:这里的信号并非系统信号。 task address 显示一个服务中所有被挂起的请求的调用栈。 debug address 针对一个 lua 服务启动内置的单步调试器。http://blog.

skynet-给项目日志添加traceid

给项目日志加上traceid traceid是什么? 这里所说的traceid是指在服务端收到客户端请求后到服务端返回给客户端结果的过程中给没一条日志添加一个相同的traceid来跟踪请求到返回的整个过程。 为什么要给服务的日志加上traceid? 最近准备给项目里的日志都加上traceid。这样方便服务端网关在收到请求后到返回给客户端之前追踪整个请求的链路。方便排查线上的bug以及统计查询请求的性能瓶颈。 添加一个traceid,对于一个新项目而言并不是什么难事,但是对于一个已经成熟上线的项目而言,还是有很多要注意的地方。 目前我们这个上线的项目采用的微服务的思想:项目里面把功能相对独立的部分单独成进程。方便服务的快速迭代,快速部署和部分更新。实际上这样的拆分作用相当明显,需要功能都不需要停服就可以一做到热更新,大大降低了维护成本,提高了用户的体验。 如何设计traceid? 这里把traceid分成4个部分: 用户相关的uid 消息相关的msgid 递增或唯一的tid 时间相关的时间戳timestamp 用户的uid不用说,方便识别这个业务和那个用户相关。 消息msgid就方便定位业务。 tid为了保证traceid的唯一性。 时间戳方便统计请求到返回消耗的时间,同时在每深入一步后可以计算出消耗的时间。 traceid是否可以做到对业务透传? 目前对于线上业务结构,还做不到透传。只能通过在节点间、函数调用间传递参数traceid的方式来使用traceid,这是最简单也是最繁琐的方案了。不过还挺实用,能够解决问题。目前先让各节点支持traceid的链路追踪,后续再进行优化。 总结 traceid的添加还在进行中,目前已完成部分节点的链路日志打印。后续会添加链路时间消耗的统计。这里先行记录一下。后续会使用traceid来统计一下各个api的调用耗时。