周三
· 阅读需 4 分钟
任务集
- 结营伙伴崩溃问题;
- 极光推送安全审核问题;
- 服务器瘦身
- 三合一工作方案;
- Next.js 的 CRUD,运营后台方案;
服务器瘦身
回收服务器
- 18.10.80.123
- 18.10.80.124
迁移目标服务器
- 18.10.80.117
- 18.10.80.118
域名解析
- xlm-web.xlsuixing.com
执行策略
- 优先迁移静态资源
- 再搞域名解析
您遇到的错误信息表明,Watchman 服务无法与其套接字进行通信,这通常是由于权限问题或 Watchman 服务未正确运行造成的。以下是一些故障排除和解决此问题的步骤:
故障排除步骤
-
检查 Watchman 状态:
- 确保 Watchman 正在运行。您可以通过执行以下命令检查其状态:
watchman version
- 确保 Watchman 正在运行。您可以通过执行以下命令检查其状态:
-
重启 Watchman:
- 如果 Watchman 正在运行但仍然遇到问题,请使用以下命令重启它:
watchman shutdown-server
watchman watch-del-all
- 如果 Watchman 正在运行但仍然遇到问题,请使用以下命令重启它:
-
检查权限:
- 确保运行命令的用户具有相关目录的必要权限。如果您使用 Homebrew 安装了 Watchman,可能需要调整相关目录的权限:
sudo chown -R $(whoami) /usr/local/var/run/watchman
chmod 700 /usr/local/var/run/watchman
- 确保运行命令的用户具有相关目录的必要权限。如果您使用 Homebrew 安装了 Watchman,可能需要调整相关目录的权限:
-
完全磁盘访问:
- 在 macOS 上,确保您的终端应用程序和 Watchman 都具有完全磁盘访问权限:
- 前往 系统偏好设置 > 安全性与隐私 > 隐私 标签。
- 滚动到 完全磁盘访问,确保终端和 Watchman 都被勾选。
- 在 macOS 上,确保您的终端应用程序和 Watchman 都具有完全磁盘访问权限:
-
删除状态文件:
- 如果问题仍然存在,请尝试删除 Watchman 状态目录中的现有状态文件(例如
/usr/local/var/run/watchman/<用户名>-state/):rm -rf /usr/local/var/run/watchman/<用户名>-state/*
- 如果问题仍然存在,请尝试删除 Watchman 状态目录中的现有状态文件(例如
-
增加 Inotify 限制(Linux):
- 如果您在 Linux 上遇到 Inotify 监视限制,可以通过修改
fs.inotify.max_user_watches设置来增加限制:echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
- 如果您在 Linux 上遇到 Inotify 监视限制,可以通过修改
-
重新安装 Watchman:
- 如果上述解决方案都无效,可以考虑使用 Homebrew 重新安装 Watchman:
brew uninstall watchman
brew install watchman
- 如果上述解决方案都无效,可以考虑使用 Homebrew 重新安装 Watchman:
-
检查日志:
- 要获取更详细的错误信息,可以以前台模式运行 Watchman,以直接查看日志:
watchman --foreground --logfile=/Volumes/Samsung/sxf/expands/icoding/log.txt
- 要获取更详细的错误信息,可以以前台模式运行 Watchman,以直接查看日志:
要在后台运行 Watchman,您可以按照以下步骤进行配置和操作:
Watchman 后台运行方法
-
安装 Watchman:
- 如果尚未安装 Watchman,可以使用 Homebrew 在 macOS 上安装:
brew install watchman
- 如果尚未安装 Watchman,可以使用 Homebrew 在 macOS 上安装:
-
启动 Watchman 守护进程:
- 使用以下命令启动 Watchman 的守护进程:
watchman -d - 这将使 Watchman 在后台运行,并监控文件变化。
- 使用以下命令启动 Watchman 的守护进程:
-
使用 JSON 配置文件:
- 您可以通过 JSON 格式的配置文件来设置 Watchman 的监控规则。创建一个 JSON 文件并在其中定义要监控的目录和文件变更操作。
-
运行任务:
- 要在后台运行特定的任务,可以使用以下命令:
watchman run -n <任务名> <命令> - 例如,您可以运行一个脚本:
watchman run -n mytask sh /path/to/script.sh
- 要在后台运行特定的任务,可以使用以下命令:
-
查看任务状态:
- 使用以下命令查看当前正在运行的任务:
watchman list
- 使用以下命令查看当前正在运行的任务:
-
重启或停止 Watchman:
- 如果需要重启或停止 Watchman,可以使用以下命令:
watchman shutdown-server
- 如果需要重启或停止 Watchman,可以使用以下命令:
其他后台运行方法
-
使用 & 符号:
- 在终端中运行命令时,可以在命令末尾添加
&符号将其放入后台。例如:python script.py &
- 在终端中运行命令时,可以在命令末尾添加
-
使用 nohup 命令:
- 如果希望程序在关闭终端后继续运行,可以使用
nohup命令:nohup python script.py >> output.log 2>&1 &
- 如果希望程序在关闭终端后继续运行,可以使用
-
使用 tmux 或 screen:
tmux和screen是常用的终端复用器,可以在其中运行程序而不受终端关闭的影响。tmux new-session -s mysession
通过以上方法,您可以有效地在后台运行 Watchman 和其他程序,以便于管理和监控文件变化。
微信公众号

