text: 'use strict'
  const IPCEE = require('ipcee')
  const util = require('util')
  const defineNameProperty = require('../utils/defineNameProperty.js')
  
  /**
   * A basic Fork task
   * @module tasks/ForkTask
   * @tutorial ForkTask
   */
  
  /**
   * @class
   * @param {Childprocess#fork} fork a forked script
   * @property {String} [name=uuid.v4()] the task name
   */
  function ForkTask(fork) {
    if(!(this instanceof ForkTask)) { return new ForkTask(fork) }
  
    IPCEE.call(this, fork, {wildcard: false})
  }
  
  util.inherits(ForkTask, IPCEE)
  defineNameProperty(ForkTask)
  
  /**
   * Wrapper to child_process.kill(signal)
   * {@link https://nodejs.org/api/process.html#process_process_kill_pid_signal}
   * @param {Number} signal
   * @return void
   */
  ForkTask.prototype.kill = function(signal) {
    this.client.kill(signal)
  }
  
  module.exports = ForkTask
  