使用screen在后台运行进程

screen

  1. 支持会话恢复 当我们开启screen后,只要screen进程没有终止,其内部运行的会话都可以恢复。网络连接中断临时,用户也可以进入开启的screen中,对中断的会话的进行控制(恢复或删除)。 通常的用法是在暂时离开的时候,让在screen中运行的会话保持正常运行并将Screen切换到后台。
  2. 支持多窗口 当使用screen时,可以开启多个窗口,让每个会话都独立运行到不同的窗口,并拥有各自的编号、名称等。用户可以通过这些编号及名称进入不同的窗口。
  3. 会话共享 Screen可以让一个或多个用户从不同终端登录一个会话,并共享会话。使用户登陆同一会话的用户看到同一会话内容。 同时它可以提供窗口访问权限的设置,对窗口进行密码保护。

screen参数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
-A            将所有的视窗都调整为目前终端机的大小
-d            将指定的screen作业离线
-h            指定视窗的缓冲区行数
-m             即使目前已在作业中的screen作业,仍强制建立新的screen作业
-r             恢复离线的screen作业
-R            先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业
-s            指定建立新视窗时,所要执行的shell
-S             指定screen作业的名称
-v            显示版本信息
-x            恢复之前离线的screen作业
-ls或-list    显示目前所有的screen作业
-wipe         检查目前所有的screen作业,并删除已经无法使用的screen作业

screen命令

  1. 自定义shell脚本启动一个进程
1
2
3
4
5
6
screen_name="ngrok" # 创建了一个名为 my_screen 的窗
screen -dmS $screen_name

cmd="ngrok tcp 22";
screen -x -S $screen_name -p 0 -X stuff "$cmd"
screen -x -S $screen_name -p 0 -X stuff '\n'
  1. 退出进程
1
screen -S session_name -X quit

其他

fork印象笔记SDK支持pod安装

{% github it-boyer evernote-sdk-mac fd5da70 width = 30% %}

制作pod支持

  1. fork 并clone代码
1
git clone https://github.com/evernote/evernote-sdk-mac.git
  1. 创建pod spec索引文件
1
2
$ cd evernote-sdk-mac
$ pod spec create EvernoteSDK https://github.com/it-boyer/evernote-sdk-mac.git
  1. 编写配置文件 设置支持的平台,源码目录位置,指定忽略的文件等配置。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
....
spec.osx.deployment_target = "10.7"
...
# ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
spec.source_files  = "EvernoteSDK", "EvernoteSDK/**/*.{h,m}"
spec.exclude_files = "EvernoteSDK/internal/ENOAuthViewController*"

# ――― Project Settings ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
#spec.requires_arc = true
#spec.xcconfig = {"WARNING_CFLAGS" => '-Wno-nullability-completeness'}
# spec.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
end
  1. 验证EvernoteSDK.podspec 需要用参数:–allow-warnings ,由于源码验证过程中的警告提示问题,导致验证失败
1
$ pod lib lint --allow-warnings
  1. 发布到私库中 先在本地添加私库
1
2
3
$ pod repo add PodRepo https://github.com/it-boyer/PodRepo.git
#输出:
> Cloning spec repo `PodRepo` from `https://github.com/it-boyer/PodRepo.git`

开始发布过程中,也会验证,出现警告问题,需要添加--allow-warnings

config配置个人文档库专栏

{% github it-boyer blogDocs 978ed39 width = 30% %}

忽略配置

文档库主要整理kindle读书笔记,jazzy文档相关html页面,放在hexo中不需要经过md转换html过程。故需要通过hexo的skip_render配置机制,来屏蔽一些目录/文件等。

安装ruby及chruby版本管理

{% github postmodern ruby-install ea2b8bb width = 30% %}

安装工具ruby-install

1
$ brew install ruby-install

安装指定 Ruby 版本

方式一:使用Homebrew安装

1
2
$ ruby-install ruby 2.4.1
$ ruby-install --system ruby  #覆盖系统版本

但Mac最新系统安装Xcode时已经没有Command Line工具,需要单独安装。安装命令行:xcode-select --install

用Hexo做个人Wiki知识管理系统

起始

知识是自己构建出来的,不是别人灌输的,也不是看了各种资料背住就完了。所谓构建,是指接受信息输入之后,通过信息整理加工,消化转变为自己理解的内容,并分类记录在脑部对应类别的不同层次区域。

同步印象笔记到hexo博客

{% github everblogjs everblog-adaptor-hexo 3c081de width = 30% %} {% github everblogjs everblog b1832a6 width = 30% %} Everblog ——使用 Evernote 写博客 印象笔记+hexo搭建自己的个人博客 申请印象笔记token 邮件申请:

1
2
3
欢迎使用印象笔记开发者Token功能,麻烦你回复这封邮件,在收到你的确认邮件后,我们会为你开启开发者Token权限,谢谢。

注:回复邮件的邮箱需要和帐户的注册邮箱地址保持一致,如果当前地址不是帐户注册邮箱,建议使用帐户注册邮箱直接发送邮件到 online-help@yinxiang.com ,并说明需要开启Token即可。

使用 Hexo 主题 图文步骤如下: 在印象笔记操作 创建 _config.yml 创建一些笔记
在hexo中执行 运行 DEBUG=* everblog start 构建并打开构建成功后的主页
使用 Hexo 主题完整步骤如下:

在我的插件中配置多种类型菜单的步骤

我的中新增智慧决策菜单

  1. 先搜集菜单信息 name:菜单名称,必填,显示在我的页面的cell上。 componentId: 业务ID,必填项,通过该字段控制前端权限/业务 group.order: 设置菜单组在我的页面显示的位置 item.order: 设置菜单在自己组中的显示位置 icon:菜单图标的名称,前端需要在我的插件项目的资源包中添加同名的图片 show:设置菜单是否为默认被打包 重要项 contentType: 设置平台配置菜单的样式:如:单选/输入框 等 WebItemUrl: 仅当输入框样式时,前端解析该字段,访问网页。(兼容android问题,输入框必须时绝对路径,即:http开头) method: 待补充 event: 待补充 localURL: 待补充 部分样例如下:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<group order="5" show="1" orientation="0" contentType="SafetyCaterOperate">
    <item>
        <id></id>
        <componentId>SafetyCaterOperate</componentId>
        <name>阳光餐饮运营</name>
        <order>1</order>
        <icon>icon_safetycateroperate</icon>
        <event>JhItemId:</event>
        <method>safetyCaterOperate</method>
        <isArgs>flase</isArgs>
        <isRed>false</isRed>
        <show>0</show>
    </item>
</group>
  1. 信息搜集之后,交付平台人员部署到平台上。

特别注意contentType 输入框类型:

xcode调试中引用python脚本

Xcode集成了LLDB,进一步简化了程序调试流程。虽然LLDB很强大,但是它的命令很有限。所幸的是,lldb包含了对python的支持,使得lldb的拓展成为可能。本人在开发过程中很喜欢使用image lookup 命令,但是苦于每次只能执行一条,相当耗时,因此一直想要找到一种批量执行的方法