linux - 检查进程是否在 Linux 上运行的最佳实践?

标签 linux bash process chef-infra

我用下面的脚本安装了 Chef 服务器。我是 linux 新手,正在尝试学习如何设置 Chef 服务器。我运行了 chef.io 提供的命令并且脚本成功了。我真的不确定如何检查或我应该做什么来检查进程是否正在运行。关于如何查看进程是否正在运行的 linux 最佳实践是什么?我可以做些什么来找出我需要知道的信息?

        #!/bin/bash \
echo "Do your provisioning here" \
sudo wget https://packages.chef.io/files/stable/chef-server/12.14.0/el/7/chef-server-core-12.14.0-1.el7.x86_64.rpm \
sudo chmod a+x chef-server-core-12.14.0-1.el7.x86_64.rpm
sudo rpm -Uvh ./chef-server-core-12.14.0-1.el7.x86_64.rpm
sudo chef-server-ctl reconfigure \
sudo openssl rsa -in private.pem -outform PEM -pubout -out ~/.ssh/chef-server.pem \
sudo chef-server-ctl user-create admin 'admin' 'email' 'password' --filename ~/.ssh/chef-server.pem \
sudo openssl rsa -in private.pem -outform PEM -pubout -out ~/.ssh/chef-server-validator.pem \
sudo chef-server-ctl org-create short_name 'idevops' --association_user admin --filename ~/.ssh/chef-server-validator.pem \
sudo openssl rsa -in private.pem -outform PEM -pubout -out ~/.ssh/chef-coffee-server-validator.pem \
sudo chef-server-ctl org-create 4thcoffee 'iDevops 4th Coffee' --association_user admin --filename ~/.ssh/chef-coffee-server-validator.pem \
sudo chef-server-ctl install chef-manage \
sudo chef-server-ctl reconfigure \
sudo chef-manage-ctl reconfigure \
sudo chef-server-ctl install opscode-push-jobs-server \
sudo chef-server-ctl reconfigure \
sudo opscode-push-jobs-server-ctl reconfigure \
sudo chef-server-ctl install opscode-reporting \
sudo chef-server-ctl reconfigure \
sudo opscode-reporting-ctl reconfigure \
sudo chef-server-ctl install PACKAGE_NAME --path /path/to/package/directory \
sudo chef-server-ctl install chef-manage --path /root/packages \
sudo mkdir /etc/opscode && sudo touch /etc/opscode/chef-server.rb \
sudo echo "license['nodes'] = 0" >> /etc/opscode/chef-server.rb \
sudo chef-server-ctl reconfigure

最佳答案

好吧,有几个地方你可以在网上找到它们,你要做的第一件事就是检查进程是否正在运行。

ps 辅助 | grep 进程名

然后,如果它正在运行,您仍然无法访问它。您将需要对端口使用 netstat 命令和 grep。

net stat -anp | grep portnumber

您查看该服务是否在其应有的端口上运行。它会说它在听。监听意味着该端口正在该端口上寻找通信。这将意味着应用程序已启动并正在端口上寻找通信,或者该端口正在被另一个应用程序使用,这就是它没有启动的原因。

通常您会查看 lgos tail -f -n 100/path/to/log/file
-n 是行数 -f 是连续跟踪,因此它是您查看文件的方式。如果您不指定它,它只会在屏幕上显示 100 行。

关于linux - 检查进程是否在 Linux 上运行的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43404359/

相关文章:

python - 我如何要求 root 密码但稍后执行操作?

bash - 为什么 bash(来自 git 安装)突然给我段错误?

string - If 语句匹配包含双引号的字符串

linux - LL_ALLOCATED_SPACE 和其他注意事项

Linux 在目录之前重命名文件

linux - 同时执行 "rsync"到同一目的地

python - 在Python中使用WIN32 API CreateProcessAsUser

bash - 用于查找 JPG 和 MOV 文件的 Shell 脚本

python - multiprocessing.Manager 嵌套共享对象不适用于 Queue

java - 是否可以在 Windows 中编写忽略所有形式的 SIGTERM 的批处理 [或其他可执行] 应用程序