Skip to main content
Further edit.
Source Link
Richard Horrocks
  • 3.2k
  • 1
  • 14
  • 24

In response to part a) of your question, you can send Tor a SIGHUP. This won't kill the process, merely cause it to reload its configuration file, and create a new circuit.

In your script you could either use kill (using system(), etc.), in which case you'd need to know the pid of the Tor process you're controlling, or pkill, though in the case of the latter, you'd have no way of distinguishing between different Tor processes (if you were running more than one).

kill -SIGHUP <pid_of_tor>

Or:

pkill -SIGHUP tor

This assumes you're on a Linux box. I believe OS X has the similar -HUP signal, and I imagine Windows does too. Check the man page for more signals that can be handled by the process.

With regards to part b) of your question, I don't have any Perl-specific suggestions. If you're open to other scripting languages, have a look at Stem - a fully featured Python API - or one of the other controller libraries listed on Stem's FAQ page.

Edit

The following short script has been tested and works with the desired effect of killing an already-running Tor process:

#!/usr/bin/perl
use strict;

system('pkill -SIGHUP tor')

Edit #2

It's likely that the script won't work as desired in the OP's case (see comments below). However, the answer may be of use to others with slightly different requirements.

In response to part a) of your question, you can send Tor a SIGHUP. This won't kill the process, merely cause it to reload its configuration file, and create a new circuit.

In your script you could either use kill (using system(), etc.), in which case you'd need to know the pid of the Tor process you're controlling, or pkill, though in the case of the latter, you'd have no way of distinguishing between different Tor processes (if you were running more than one).

kill -SIGHUP <pid_of_tor>

Or:

pkill -SIGHUP tor

This assumes you're on a Linux box. I believe OS X has the similar -HUP signal, and I imagine Windows does too. Check the man page for more signals that can be handled by the process.

With regards to part b) of your question, I don't have any Perl-specific suggestions. If you're open to other scripting languages, have a look at Stem - a fully featured Python API - or one of the other controller libraries listed on Stem's FAQ page.

Edit

The following short script has been tested and works with the desired effect of killing an already-running Tor process:

#!/usr/bin/perl
use strict;

system('pkill -SIGHUP tor')

In response to part a) of your question, you can send Tor a SIGHUP. This won't kill the process, merely cause it to reload its configuration file, and create a new circuit.

In your script you could either use kill (using system(), etc.), in which case you'd need to know the pid of the Tor process you're controlling, or pkill, though in the case of the latter, you'd have no way of distinguishing between different Tor processes (if you were running more than one).

kill -SIGHUP <pid_of_tor>

Or:

pkill -SIGHUP tor

This assumes you're on a Linux box. I believe OS X has the similar -HUP signal, and I imagine Windows does too. Check the man page for more signals that can be handled by the process.

With regards to part b) of your question, I don't have any Perl-specific suggestions. If you're open to other scripting languages, have a look at Stem - a fully featured Python API - or one of the other controller libraries listed on Stem's FAQ page.

Edit

The following short script has been tested and works with the desired effect of killing an already-running Tor process:

#!/usr/bin/perl
use strict;

system('pkill -SIGHUP tor')

Edit #2

It's likely that the script won't work as desired in the OP's case (see comments below). However, the answer may be of use to others with slightly different requirements.

Add a brief, working script.
Source Link
Richard Horrocks
  • 3.2k
  • 1
  • 14
  • 24

In response to part a) of your question, you can send Tor a SIGHUP. This won't kill the process, merely cause it to reload its configuration file, and create a new circuit.

In your script you could either use kill (using system(), etc.), in which case you'd need to know the pid of the Tor process you're controlling, or pkill, though in the case of the latter, you'd have no way of distinguishing between different Tor processes (if you were running more than one).

kill -SIGHUP <pid_of_tor>

Or:

pkill -SIGHUP tor

This assumes you're on a Linux box. I believe OS X has the similar -HUP signal, and I imagine Windows does too. Check the man page for more signals that can be handled by the process.

With regards to part b) of your question, I don't have any Perl-specific suggestions. If you're open to other scripting languages, have a look at Stem - a fully featured Python API - or one of the other controller libraries listed on Stem's FAQ page.

Edit

The following short script has been tested and works with the desired effect of killing an already-running Tor process:

#!/usr/bin/perl
use strict;

system('pkill -SIGHUP tor')

In response to part a) of your question, you can send Tor a SIGHUP. This won't kill the process, merely cause it to reload its configuration file, and create a new circuit.

In your script you could either use kill (using system(), etc.), in which case you'd need to know the pid of the Tor process you're controlling, or pkill, though in the case of the latter, you'd have no way of distinguishing between different Tor processes (if you were running more than one).

kill -SIGHUP <pid_of_tor>

Or:

pkill -SIGHUP tor

This assumes you're on a Linux box. I believe OS X has the similar -HUP signal, and I imagine Windows does too. Check the man page for more signals that can be handled by the process.

With regards to part b) of your question, I don't have any Perl-specific suggestions. If you're open to other scripting languages, have a look at Stem - a fully featured Python API - or one of the other controller libraries listed on Stem's FAQ page.

In response to part a) of your question, you can send Tor a SIGHUP. This won't kill the process, merely cause it to reload its configuration file, and create a new circuit.

In your script you could either use kill (using system(), etc.), in which case you'd need to know the pid of the Tor process you're controlling, or pkill, though in the case of the latter, you'd have no way of distinguishing between different Tor processes (if you were running more than one).

kill -SIGHUP <pid_of_tor>

Or:

pkill -SIGHUP tor

This assumes you're on a Linux box. I believe OS X has the similar -HUP signal, and I imagine Windows does too. Check the man page for more signals that can be handled by the process.

With regards to part b) of your question, I don't have any Perl-specific suggestions. If you're open to other scripting languages, have a look at Stem - a fully featured Python API - or one of the other controller libraries listed on Stem's FAQ page.

Edit

The following short script has been tested and works with the desired effect of killing an already-running Tor process:

#!/usr/bin/perl
use strict;

system('pkill -SIGHUP tor')
Source Link
Richard Horrocks
  • 3.2k
  • 1
  • 14
  • 24

In response to part a) of your question, you can send Tor a SIGHUP. This won't kill the process, merely cause it to reload its configuration file, and create a new circuit.

In your script you could either use kill (using system(), etc.), in which case you'd need to know the pid of the Tor process you're controlling, or pkill, though in the case of the latter, you'd have no way of distinguishing between different Tor processes (if you were running more than one).

kill -SIGHUP <pid_of_tor>

Or:

pkill -SIGHUP tor

This assumes you're on a Linux box. I believe OS X has the similar -HUP signal, and I imagine Windows does too. Check the man page for more signals that can be handled by the process.

With regards to part b) of your question, I don't have any Perl-specific suggestions. If you're open to other scripting languages, have a look at Stem - a fully featured Python API - or one of the other controller libraries listed on Stem's FAQ page.