From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Charles Coffing" Subject: Re: [PATCH] properly daemonize vncviewer Date: Wed, 02 Aug 2006 12:19:03 -0600 Message-ID: <44D09804.D169.003C.0@novell.com> References: <44CF52BA.D169.003C.0@novell.com> <0b0944f308ee948afbb6734232e2a7c2@cl.cam.ac.uk> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__Part97B20E87.1__=" Return-path: In-Reply-To: <0b0944f308ee948afbb6734232e2a7c2@cl.cam.ac.uk> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org --=__Part97B20E87.1__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline On Wed, Aug 2, 2006 at 2:32 AM, Keir Fraser wrote: > On 1 Aug 2006, at 20:11, Charles Coffing wrote: > >> We've been running with a variant of this patch (a variant because we >> use tightvnc, which requires different arguments) for many months, and >> it works well. >> >> Please consider applying to xen- unstable. > > Is there no Python library function that can do this (I couldn't find > one)? No. And as an added twist, I wanted to get the PID of the daemonized program back (without the mess or risk of writing to a temporary file) and I didn't see any such thing out there already. > If not, can you at least put the new code in a function with a > spawn- like interface (i.e., takes two parameters -- program name and > program argument list). It's okay to put the new function somewhere > nearby in create.py. I've attached the updated patch with the suggested changes. --=__Part97B20E87.1__= Content-Type: application/octet-stream; name="xen-daemonize-vncviewer.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="xen-daemonize-vncviewer.diff" SW5kZXg6IHhlbi0zLjAtdGVzdGluZy90b29scy9weXRob24veGVuL3htL2NyZWF0ZS5weQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSB4ZW4tMy4wLXRlc3Rpbmcub3JpZy90b29scy9weXRob24veGVuL3htL2NyZWF0 ZS5weQorKysgeGVuLTMuMC10ZXN0aW5nL3Rvb2xzL3B5dGhvbi94ZW4veG0vY3JlYXRlLnB5CkBA IC03NjUsMTQgKzc2NSw1OCBAQCBkZWYgY2hvb3NlX3ZuY19kaXNwbGF5KCk6CiAKIHZuY3BpZCA9 IE5vbmUKIAorZGVmIGRhZW1vbml6ZShwcm9nLCBhcmdzKToKKyAgICAiIiJSdW5zIGEgcHJvZ3Jh bSBhcyBhIGRhZW1vbiB3aXRoIHRoZSBsaXN0IG9mIGFyZ3VtZW50cy4gIFJldHVybnMgdGhlIFBJ RAorICAgIG9mIHRoZSBkYWVtb25pemVkIHByb2dyYW0sIG9yIHJldHVybnMgMCBvbiBlcnJvci4K KyAgICAiIiIKKyAgICByLCB3ID0gb3MucGlwZSgpCisgICAgcGlkID0gb3MuZm9yaygpCisKKyAg ICBpZiBwaWQgPT0gMDoKKyAgICAgICAgb3MuY2xvc2UocikKKyAgICAgICAgdyA9IG9zLmZkb3Bl bih3LCAndycpCisgICAgICAgIG9zLnNldHNpZCgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAg IHBpZDIgPSBvcy5mb3JrKCkKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgcGlkMiA9IE5v bmUKKyAgICAgICAgaWYgcGlkMiA9PSAwOgorICAgICAgICAgICAgb3MuY2hkaXIoIi8iKQorICAg ICAgICAgICAgZm9yIGZkIGluIHJhbmdlKDAsIDI1Nik6CisgICAgICAgICAgICAgICAgdHJ5Ogor ICAgICAgICAgICAgICAgICAgICBvcy5jbG9zZShmZCkKKyAgICAgICAgICAgICAgICBleGNlcHQ6 CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIG9zLm9wZW4oIi9kZXYvbnVs bCIsIG9zLk9fUkRXUikKKyAgICAgICAgICAgIG9zLmR1cDIoMCwgMSkKKyAgICAgICAgICAgIG9z LmR1cDIoMCwgMikKKyAgICAgICAgICAgIG9zLmV4ZWN2cChwcm9nLCBhcmdzKQorICAgICAgICAg ICAgb3MuX2V4aXQoMSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHcud3JpdGUoc3RyKHBp ZDIgb3IgMCkpCisgICAgICAgICAgICB3LmNsb3NlKCkKKyAgICAgICAgICAgIG9zLl9leGl0KDAp CisKKyAgICBvcy5jbG9zZSh3KQorICAgIHIgPSBvcy5mZG9wZW4ocikKKyAgICBkYWVtb25fcGlk ID0gaW50KHIucmVhZCgpKQorICAgIHIuY2xvc2UoKQorICAgIG9zLndhaXRwaWQocGlkLCAwKQor ICAgIHJldHVybiBkYWVtb25fcGlkCisKIGRlZiBzcGF3bl92bmMoZGlzcGxheSk6CisgICAgIiIi U3Bhd25zIGEgdm5jdmlld2VyIHRoYXQgbGlzdGVucyBvbiB0aGUgc3BlY2lmaWVkIGRpc3BsYXku ICBPbiBzdWNjZXNzLAorICAgIHJldHVybnMgdGhlIHBvcnQgdGhhdCB0aGUgdm5jdmlld2VyIGlz IGxpc3RlbmluZyBvbiBhbmQgc2V0cyB0aGUgZ2xvYmFsCisgICAgdm5jcGlkLiAgT24gZmFpbHVy ZSwgcmV0dXJucyAwLiAgTm90ZSB0aGF0IHZuY3ZpZXdlciBpcyBkYWVtb25pemVkLgorICAgICIi IgogICAgIHZuY2FyZ3MgPSAoWyJ2bmN2aWV3ZXIiLCAiLWxvZyIsICIqOnN0ZG91dDowIiwKICAg ICAgICAgICAgICItbGlzdGVuIiwgIiVkIiAlIChWTkNfQkFTRV9QT1JUICsgZGlzcGxheSkgXSkK LSAgICBnbG9iYWwgdm5jcGlkICAgIAotICAgIHZuY3BpZCA9IG9zLnNwYXdudnAob3MuUF9OT1dB SVQsICJ2bmN2aWV3ZXIiLCB2bmNhcmdzKQotCisgICAgZ2xvYmFsIHZuY3BpZAorICAgIHZuY3Bp ZCA9IGRhZW1vbml6ZSgidm5jdmlld2VyIiwgdm5jYXJncykKKyAgICBpZiB2bmNwaWQgPT0gMDoK KyAgICAgICAgcmV0dXJuIDAKICAgICByZXR1cm4gVk5DX0JBU0VfUE9SVCArIGRpc3BsYXkKLSAg ICAKKwogZGVmIHByZXByb2Nlc3Nfdm5jKHZhbHMpOgogICAgICIiIklmIHZuYyB3YXMgc3BlY2lm aWVkLCBzcGF3biBhIHZuY3ZpZXdlciBpbiBsaXN0ZW4gbW9kZQogICAgIGFuZCBwYXNzIGl0cyBh ZGRyZXNzIHRvIHRoZSBkb21haW4gb24gdGhlIGtlcm5lbCBjb21tYW5kIGxpbmUuCg== --=__Part97B20E87.1__= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --=__Part97B20E87.1__=--