Sha256: d9bbd676393e5f3daa8acf556fa8e625a0341076aa26f5e1cf6fce5d974d12a8
Contents?: true
Size: 1.27 KB
Versions: 5
Compression:
Stored size: 1.27 KB
Contents
# Copyright (c) 2021 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details. # frozen_string_literal: true require 'contrast/components/scope' module Contrast module Utils # Simple utility used to make OS calls and determine state. For that state # which will not change at runtime, such as the operating system, the # Utility memozies to avoid multiple lookups. module OS extend Contrast::Components::Scope::InstanceMethods class << self def running? result = false with_contrast_scope do process = `ps aux | grep contrast-servic[e]` processes = process.split("\n") result = !processes.empty? && processes.any? { |process_descriptor| !process_descriptor.include?('grep') } end result end # check if service was killed and is a zombie process # returns an array of zombie process PIDs as strings; empty array if there are none def zombie_pids with_contrast_scope do # retrieve pid of service processes zombie_pid_list = `ps aux | grep contrast-servic[e] | grep Z | awk '{print $2}'` zombie_pid_list.split("\n") end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems