title: Multiprocessing TypeError
body: <p>I have this code:</p>
  
  <pre><code>import multiprocessing as mp
  import shutil
  import md5
  
  def f(src,dst):
      shutil.copy2(src,dst)
  
  file_1 = "C:\Users\Nick\Documents\production\TEST\\test.txt"    
  file_2 = "C:\Users\Nick\Documents\production\TEST_2\\test.txt"
  
  def get_md5(file_name):
      with open(file_name) as file_to_check:
          # read contents of the file
          data = file_to_check.read()    
          # pipe contents of the file through
          md5_returned = md5.new(data).hexdigest()
          print md5_returned
  
  if __name__ == '__main__':
      P = mp.Process(target=f, args=(file_1,file_2))
      s = mp.Process(target=get_md5, args=(file_1))
      P.start()
      P.join()
      s.start()
      s.join()
  </code></pre>
  
  <p>I am just testing how to use multiprocessing at the moment, but the get_md5 function throws a type error.
  the error message is this:  </p>
  
  <pre><code>Traceback (most recent call last):  
    File "C:\Python27\lib\multiprocessing\process.py", line 258, in _bootstrap  
      self.run()  
    File "C:\Python27\lib\multiprocessing\process.py", line 114, in run  
      self._target(*self._args, **self._kwargs)  
  TypeError: get_md5() takes exactly 1 argument (48 given)
  </code></pre>
  
  <p>It looks to me as if there is only one argument for get_md5 process, I have no idea where 48 arguments are coming from.</p>
  
  <p>Can anyone help?</p>