Sha256: da48c09d05cfc127995fcdba7febf048cf6410e053758802fac9f749bb9b3d40

Contents?: true

Size: 1.31 KB

Versions: 25

Compression:

Stored size: 1.31 KB

Contents

# frozen_string_literal: true

# takelage docker socket stop
module DockerSocketStop
  # Backend method for docker socket stop.
  def docker_socket_stop
    log.debug 'Stopping sockets for docker container'

    return false unless docker_check_running

    # get process list
    # assuming format: "pid command"
    cmd_ps =
      config.active['cmd_docker_socket_stop_docker_socket_ps']

    stdout_str = run cmd_ps

    cmds_start_socket = _docker_socket_lib_get_socket_start_commands 'stop'

    # loop over process list
    stdout_str.split(/\n+/).each do |process|
      _docker_socket_stop_kill_process process, cmds_start_socket
    end

    true
  end

  private

  # Stop process.
  def _docker_socket_stop_kill_process(process, cmds_start_socket)
    # split processes in process id and process command
    pid_command = process.strip.split(/ /, 2)
    pid = pid_command[0]
    command = pid_command[1]

    # loop over socket start commands
    cmds_start_socket.each do |cmd_start_socket|
      next unless command == cmd_start_socket

      _docker_socket_stop_kill_pid pid
    end
  end

  # Kill process.
  def _docker_socket_stop_kill_pid(pid)
    log.debug "Killing PID #{pid}"
    cmd_kill =
      format(
        config.active['cmd_docker_socket_stop_docker_socket_kill'],
        pid: pid
      )
    run cmd_kill
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
takelage-0.23.0 lib/takelage/docker/socket/stop.rb
takelage-0.22.2 lib/takelage/docker/socket/stop.rb
takelage-0.22.1 lib/takelage/docker/socket/stop.rb
takelage-0.22.0 lib/takelage/docker/socket/stop.rb
takelage-0.21.1 lib/takelage/docker/socket/stop.rb
takelage-0.21.0 lib/takelage/docker/socket/stop.rb
takelage-0.20.2 lib/takelage/docker/socket/stop.rb
takelage-0.20.1 lib/takelage/docker/socket/stop.rb
takelage-0.20.0 lib/takelage/docker/socket/stop.rb
takelage-0.19.2 lib/takelage/docker/socket/stop.rb
takelage-0.19.1 lib/takelage/docker/socket/stop.rb
takelage-0.19.0 lib/takelage/docker/socket/stop.rb
takelage-0.18.1 lib/takelage/docker/socket/stop.rb
takelage-0.18.0 lib/takelage/docker/socket/stop.rb
takelage-0.17.1 lib/takelage/docker/socket/stop.rb
takelage-0.17.0 lib/takelage/docker/socket/stop.rb
takelage-0.16.0 lib/takelage/docker/socket/stop.rb
takelage-0.15.1 lib/takelage/docker/socket/stop.rb
takelage-0.15.0 lib/takelage/docker/socket/stop.rb
takelage-0.14.5 lib/takelage/docker/socket/stop.rb