Set process title to youtube-dl

This allows killing all youtube-dl processes with killall youtube-dl, and shows up nicer in some programs.
pull/8/head
Philipp Hagemeister 11 years ago
parent 8863d0de91
commit e3946f989e

@ -62,6 +62,7 @@ from .utils import (
MaxDownloadsReached, MaxDownloadsReached,
preferredencoding, preferredencoding,
SameFileError, SameFileError,
setproctitle,
std_headers, std_headers,
write_string, write_string,
) )
@ -471,12 +472,15 @@ def parseOpts(overrideArguments=None):
return parser, opts, args return parser, opts, args
def _real_main(argv=None): def _real_main(argv=None):
# Compatibility fixes for Windows # Compatibility fixes for Windows
if sys.platform == 'win32': if sys.platform == 'win32':
# https://github.com/rg3/youtube-dl/issues/820 # https://github.com/rg3/youtube-dl/issues/820
codecs.register(lambda name: codecs.lookup('utf-8') if name == 'cp65001' else None) codecs.register(lambda name: codecs.lookup('utf-8') if name == 'cp65001' else None)
setproctitle(u'youtube-dl')
parser, opts, args = parseOpts(argv) parser, opts, args = parseOpts(argv)
# Set user agent # Set user agent

@ -1,6 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import ctypes
import datetime import datetime
import email.utils import email.utils
import errno import errno
@ -1062,3 +1063,17 @@ def month_by_name(name):
def fix_xml_all_ampersand(xml_str): def fix_xml_all_ampersand(xml_str):
"""Replace all the '&' by '&' in XML""" """Replace all the '&' by '&' in XML"""
return xml_str.replace(u'&', u'&') return xml_str.replace(u'&', u'&')
def setproctitle(title):
try:
libc = ctypes.cdll.LoadLibrary("libc.so.6")
except OSError:
return
title = title
buf = ctypes.create_string_buffer(len(title) + 1)
buf.value = title
try:
libc.prctl(15, ctypes.byref(buf), 0, 0, 0)
except AttributeError:
return # Strange libc, just skip this

Loading…
Cancel
Save