mac startup 启动项设置

  • /Library/LaunchAgents 用户登录后运行
  • /Library/LaunchDaemons 系统启动时运行,用户不登录也会运行 -守护进程
  • ~/Library/LaunchAgents 用户自定义的用户启动项
  • ~/Library/LaunchDaemons 系统启动后立即启动的进程 -守护进程
  • /System/Library/LaunchAgents 登录之后 系统自带的启动项
  • /System/Library/LaunchDaemons 系统启动后立即启动的进程 -守护进程

每个 .plist 文件中,有 3 个属性控制着是否会开机自动启动

KeepAlive:决定程序是否需要一直运行,如果是 false 则需要时才启动。默认 false

RunAtLoad:开机时是否运行。默认 false。

SuccessfulExit:此项为 true 时,程序正常退出时重启(即退出码为 0);为 false 时,程序非正常退出时重启。此项设置时会隐含默认 RunAtLoad = true,因为程序需要至少运行一次才能获得退出状态。

所以其实针对这三项,不同的值有不同的表现:

如果KeepAlive= false:

当RunAtLoad= false 时:程序只有在有需要的时候运行。

当RunAtLoad= true 时:程序在启动时会运行一次,然后等待在有需要的时候运行。

当SuccessfulExit=  true / false 时:不论RunAtLoad值是什么,都会在启动时运行一次。其后根据SuccessfulExit值来决定是否重启。

如果KeepAlive= true :

不论RunAtLoad/SuccessfulExit值是什么,都会启动时运行且一直保持运行状态。

如果不希望开机自动运行,则需要:

1. 找到对应程序的 .plist 文件

2. 删除 SuccessfulExit 属性。

3. 将 RunAtLoad / KeepAlive 均设为 false

相关操作

1.通过launchctl load xxx.plist或launchctl unload xxx.plist命令添加和删除指定启动项;

2.直接创建、修改、删除相关目录下面的plist文件。

plist 字段意义

Label 用来在launchd中的一个唯一标识,类似于每一个程序都有一个identifies一样。

UserName 指定运行启动项的用户,只有当Launchd 作为 root 用户运行时,此项才适用。

GroupName 指定运行启动项的组,只有当Launchd 作为 root 用户运行时,此项才适用。

route 操作

Mac

查询可用的路由出口(网卡)

networksetup -listallnetworkservices
1.Wi-Fi
2.AX88x72A

查询指定路由出口(网卡)的路由表配置

networksetup -getadditionalroutes Wi-Fi

router 命令

add 增加路由

del 删除路由

-net 设置到某个网段的路由

-host 设置到某台主机的路由

-netmask :与网域有关,可以设定 netmask 决定网域的大小;

gw 出口网关 IP地址

dev 出口网关 物理设备名 则使用这个设定,后面接 eth0 等

linux: sudo route add –net 192.168.1.0/24 gw 10.0.0.129 

Mac: sudo route -n add -net 192.168.0.0 -netmask 255.255.255.0 192.168.5.254

ios safari ,app webview 在chrome devtool 里调试

https://github.com/google/ios-webkit-debug-proxy

可以跳过上面链接 直接用这个https://github.com/RemoteDebug/remotedebug-ios-webkit-adapter

安装完成后 启动

remotedebug_ios_webkit_adapter --port=9000


前面加 DEBUG=remotedebug 可以显示日志

打开 chrome://inspect 在discover network target  添加 localhost:9000

brew

 

基本操作

操作 命令
更新 Homebrew brew update
更新所有安装过的软件包 brew upgrade
更新指定的软件包 brew upgrade wget
查找软件包 brew search wget
安装软件包 brew install wget
卸载软件包 brew remove wget
列出已安装的软件包 brew list
查看软件包信息 brew info wget
列出软件包的依赖关系 brew deps wget
列出可以更新的软件包 brew outdated

临时使用代理

brew支持全局socks代理,使用前打开终端,加上这一句:
export ALL_PROXY=socks5://127.0.0.1:portnumber
前提是你要有socks代理。。。
或者 ALL_PROXY=socks5://127.0.0.1:1081 brew upgrade

固定代理

brew用curl下载,所以给curl挂上socks5的代理即可。

在~/.curlrc文件中输入代理地址即可。

socks5 = "127.0.0.1:1080"