Làm thế nào để chạy một chương trình khi khởi động?


7

Vì vậy, tôi có chương trình này mà tôi tự chạy bằng root:

sudo gammu-smsd -c /etc/gammu-smsdrc -d 

Những gì nó làm là nó chạy Gammu (phần mềm để quản lý modem GSM) và 'daemonize' nó. Vấn đề của tôi là tôi muốn chương trình này tự động chạy khi khởi động.

Bạn có thể chỉnh sửa crontab của root và dán lệnh này ở đó không? Hay có cách nào khác?

(Tôi đang sử dụng Ubuntu 11.04.)


1
Bạn có thể không cần sudo khi bạn đặt nó vào các tệp khởi động vì hầu hết mọi thứ được thực thi bởi root.
Johan

Trước tiên, bạn có thể tự hỏi mình muốn chạy nó trước hay sau khi người dùng đăng nhập.
rozcietrzewiacz

1
Có thể đáng để xem xét việc tạo tập lệnh init.d cho trình nền của bạn, tuy nhiên yêu cầu của bạn tùy thuộc vào bạn.
whoami

Tôi muốn chạy trước khi người dùng đăng nhập. Điều tôi muốn là máy chủ của tôi chạy các chương trình của tôi (không chỉ gammu) ngay cả khi tôi không có mặt trong khi mất điện trong đó máy tính khởi động lại.
r2b2

Câu trả lời:


7

Làm thế nào về /etc/rc.local ?

Điều này sẽ được thực hiện cuối cùng trong chuỗi khởi động.


thêm sleep 1mtrước gammu-smsd -d. Tôi biết điều này không được khuyến khích, nhưng đây là cách dễ dàng để làm cho nó hoạt động. Bạn cũng có thể cần tìm cách tạo tập lệnh init.d
GusDeCooL

2

Bạn có thể sử dụng crontab cho việc này.
Sử dụng crontab -eđể chỉnh sửa crontab của người dùng (Danh sách các tập lệnh khởi động mà người dùng đã thêm).
Thêm dòng sau vào cuối:

@reboot <command>

Ví dụ:

  • @reboot my_script.sh
  • @reboot python my_script.py arg1 arg2

Cuối cùng sử dụng contab -lđể đảm bảo tập lệnh của bạn đã được thêm vào danh sách.


Command 'contab' not found.
zwcloud

1
Sử dụngapt-get install cron
Jithin Pavithran

0

Đây là cách làm thế nào để thêm một tập lệnh khởi động được chạy khi khởi động. Bạn có thể tìm thêm thông tin ở đây .


1
Các liên kết bạn đưa ra là rất lỗi thời. Từ những gì tôi biết, quy trình khởi động đã thay đổi nhiều kể từ đó.
rozcietrzewiacz

0

Điều này có thể giúp bạn?

http://www.howtogeek.com/howto/ubfox/how-to-add-a-program-to-the-ubfox-startup-list-after-login/


Hoặc chỉ cần thêm nó vào /etc/profile

hoặc thêm nó theo cách được đề xuất: http://embraceubfox.com/2005/09/07/adding-a-startup-script-to-be-run-at-bootup/

Thật vậy, loại bỏ sudo! (nhưng bạn sẽ cần nó để thực hiện chỉnh sửa hoặc thêm lệnh, vì vậy ...)


1
nó thực thi chương trình sau khi đăng nhập, tôi đã hy vọng điều gì đó được thực thi trước đó hoặc trong cửa sổ đăng nhập được hiển thị hoặc không cần đăng nhập

xem chỉnh sửa của tôi: thêm nó vào tệp khởi động toàn hệ thống

Louis: Tôi có cần xóa sudonếu tôi làm theo hướng dẫn đó không?
r2b2
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.